目前,我的网络应用程序在浏览器中生成PDF文件,并手动将其发送到打印机。
我现在需要从我的rails应用程序自动发送100多种PDF文件,无需人工干预即可打印。
我该怎么做?
我的rails应用程序驻留在heroku上。我有自己的本地打印机,但不知道我的选择是什么。我研究过具有电子邮件地址的打印机,这是理想的,但想要其他想法。
答案 0 :(得分:0)
如果要从服务器打印PDF,可以使用从命令行打印到PDF的程序。在Windows上,Foxit会执行此操作。他们有Linux版本,但我只在Windows上进行了服务器端打印。
答案 1 :(得分:0)
我不知道一个简单的方法,一些随机的想法...
因为它是你的应用程序,你可以暂时在你的开发机器上运行它,如果没有太多的技术或法律障碍复制足够的数据库使其工作( $ heroku db:拉)然后你可以用system('...')
做点什么。
你可以创建一个包含每个变体的巨型pdf。这至少可以减少人为干预一次点击。
您可以使用net / ssh在heroku上的应用程序和本地计算机之间建立一个ssh隧道,虽然我想不出一个简单的方法来利用它。
我想你可以制作一个快速的基于http的打印服务器,你可以在本地运行(也许带有一个神奇的身份验证cookie),然后让你的应用程序通过net / http或curl或其他东西对客户端进行http POST。
您可以将pdf存储在一个表中并拥有一个本地cron作业或“heroku db:pull”,然后运行一个提取pdf并打印它们的脚本。
不知怎的,我认为这些都不是你想要的。我想我们可能需要更多地了解为什么要排除人为干预,以便专注于真正的解决方案。
答案 2 :(得分:0)
我不知道如何在rails中执行此操作,但请尝试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();
?>