Как я могу напечатать PDF прямо из моего приложения на рельсах без участия человека? - PullRequest
0 голосов
/ 30 января 2011

В настоящее время мое веб-приложение создает файл PDF в браузере, и я вручную отправляю его на принтер.

Теперь мне нужно автоматически отправлять более 100 вариантов файла PDF из моего приложения rails для печати безвмешательство человека.

Как я могу это сделать?

Мое приложение rails находится на heroku.У меня есть собственный локальный принтер, но я не уверен, какие у меня есть варианты.Я исследовал принтеры с адресом электронной почты, который был бы идеальным, но хотел другие идеи.

Ответы [ 3 ]

0 голосов
/ 30 января 2011

Я не знаю простой способ, некоторые случайные мысли ...

  • , поскольку это ваше приложение, вы можете временно запустить его на своем компьютере разработчика, если его нетслишком много технических или юридических проблем с копированием базы данных, достаточной для ее работы ( $ heroku db: pull ), и тогда вы, вероятно, сможете что-то сделать с system('...').

  • Вы можете сделать один гигантский PDF-файл, содержащий все варианты.Это по крайней мере уменьшило бы вмешательство человека до одного клика.

  • вы, вероятно, можете создать ssh-туннель между вашим приложением на heroku и вашим локальным компьютером, используя net / ssh, хотя я не могуПодумайте о простом способе воспользоваться этим.

  • Я полагаю, вы могли бы создать быстрый сервер печати на основе http, который вы запускаете локально (возможно, с волшебным файлом cookie аутентификации), а затем иметьВаше приложение выполняет HTTP-запрос клиента к нему через net / http или curl или что-то в этом роде.

  • Вы можете хранить PDF-файлы в таблице и иметь локальную работу cron или что-то делать "heroku db:потяните ", а затем запустите сценарий, который извлекает PDF-файлы и печатает их.

Почему-то я не думаю, что все это то, что вы хотите.Я думаю, что нам, возможно, нужно узнать больше о том, почему вмешательство человека исключено, чтобы сосредоточиться на реальном решении.

0 голосов
/ 30 января 2011

Я не знаю, как это сделать в рельсах, но попробуйте PHP :: PRINT :: IPP

Установить класс из http://www.nongnu.org/phpprintipp/

Тогда в простом примере:

<?php
require_once(PrintIPP.php);
$ipp = new PrintIPP();
$ipp->setHost("localhost");
$ipp->setPrinterURI("/printers/epson");
$ipp->setData("./filename.pdf"); // Path to file.
$ipp->printJob();
?>
0 голосов
/ 30 января 2011

Если вы хотите распечатать PDF-файл с сервера, вы можете использовать программу, которая печатает в PDF из командной строки. В Windows Foxit сделает это. У них есть версия для Linux, но я выполнял только серверную печать в Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...