【问题标题】:How can I print a PDF directly from my rails app without human intervention?如何在没有人工干预的情况下直接从我的 rails 应用程序打印 PDF?
【发布时间】:2011-01-30 18:01:04
【问题描述】:

目前我的网络应用程序在浏览器中生成一个 PDF 文件,然后我手动将其发送到打印机。

我现在需要从我的 rails 应用程序中自动发送 100 多个 PDF 文件的变体,以便在没有人工干预的情况下打印。

我该怎么做?

我的 rails 应用程序位于 heroku 上。我确实有自己的本地打印机,但不确定我的选择是什么。我研究了具有电子邮件地址的打印机,这将是理想的,但想要其他想法。

【问题讨论】:

  • @Gabe -- 我在本地有一个 windows 盒子....

标签: ruby-on-rails pdf printing


【解决方案1】:

如果要从服务器打印 PDF,可以使用从命令行打印为 PDF 的程序。在 Windows 上,Foxit 会这样做。他们有 Linux 版本,但我只在 Windows 上完成了服务器端打印。

【讨论】:

  • 我想她可以从 heroku db:pull 临时在本地运行。如果这不是您的意思,那么我怀疑她的云托管服务(本身是托管在 EC2 上的云应用程序,顺便说一句)是否提供打印。
  • @DigitalRoss:当她说她有自己的本地打印机时,我认为她能够在本地运行她的 Rails 应用程序——否则为什么她的打印机是本地的呢?
  • 我提到我的打印机是本地的,因为这是当前唯一的打印方式——但我想在云中运行我的应用程序。我见过的一种解决方案是支持电子邮件的打印机,因此可以通过电子邮件发送作业,但需要其他选项....
【解决方案2】:

我不知道一个简单的方法,一些随机的想法......

    1234563拉)然后你可能可以用system('...')做点什么。
  • 您可以制作一个包含每个变体的巨型 pdf。这至少可以将人工干预减少到一键点击。

  • 您可能可以在 heroku 上的应用程序和使用 net/ssh 的本地计算机之间建立一个 ssh 隧道,尽管我想不出一种简单的方法来利用这一点。

  • 我想你可以创建一个快速的基于 http 的打印服务器,在本地运行(可能使用一个神奇的 auth cookie),然后让你的应用通过 net/http 或 curl 或其他方式向它发送客户端 http POST。

  • 您可以将 pdf 文件存储在一个表中并进行本地 cron 作业或执行“heroku db:pull”操作,然后运行提取 pdf 文件并打印它们的脚本。

不知何故,我认为这些都不是你想要的。我认为我们可能需要更多地了解为什么要排除人为干预才能专注于真正的解决方案。

【讨论】:

  • 谢谢 - 我正在尝试简化和自动化打印这些合并的字母......随着数字开始从 10 到 100 的数字,我打印每个人的速度很慢......它们也不需要一个大的“批量”,而是以“滴”的形式完成……想象一下反向直邮滴……这有帮助吗?
【解决方案3】:

我不知道如何在 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();
?>

【讨论】:

  • 我不太明白为什么每个人都在告诉安吉拉如何进行服务器端打印。她的应用程序在本身托管在 Amazon EC2 上的云服务上运行。我认为从虚拟机实例打印并不是她真正想要的,尽管我认为一种可能性是暂时在本地运行她的应用程序。
  • @DigitalRoss -- 是的,感谢您帮助清除我的信息......是的,它在 heroku / amazon 上,我的机器是本地的......它怎么能打印,比如说,当我在离开 - 我有一些任务在 cron 中运行...谢谢。
  • 这正是我们需要做的。我很惊讶没有公认的方法来做到这一点。在我们的例子中,我们要去联邦快递,他们给我们发了一份 PDF 文件。我们想立即将该 PDF 打印到连接到工作站的打印机上。
猜你喜欢
  • 2012-01-20
  • 1970-01-01
  • 2011-11-17
  • 1970-01-01
  • 2022-12-12
  • 1970-01-01
  • 2017-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多