gpt4 book ai didi

ruby-on-rails - 渲染 Rails 模板/ View 以生成 PDF 然后直接从服务器通过 CUPS 打印的方法?

转载 作者:太空宇宙 更新时间:2023-11-03 16:28:29 25 4
gpt4 key购买 nike

我正在寻找一种方法,让 Rails 操作使用定义的模板(或 View + 部分,如 .html.erb 或类似的)自动呈现给打印机,以便用户/客户端可以在没有打印机的情况下打印正在本地设置。服务器运行 Linux,并且能够现场打印到用户选择的打印机。如果需要,如果它首先生成一个临时 PDF 也没关系。所以总而言之,我们正在寻找类似于 Rails 中“渲染到 CUPS”(和/或 lpr)的东西。

这是我目前发现的:

根据 Ruby Toolbox , Prawn (而且 prawn-labels 看起来不错),Wicked PDF , 或 PDFKit有一些很好的方法,其中包括在 Ruby 中生成 PDF,后两者更倾向于在 Webkit 中呈现 HTML 并从中生成 PDF。

但是,另一位团队成员对其进行了更多调查,并注意到 wkhtmltopdf(Wicked PDF 和 PDFKit 都使用)自 2010 年以来就没有发布过,而且,尽管仍然有 active work on it ,它通过 Qt 4.4 而不是直接使用 Webkit,如果不需要,我们希望避免这种依赖。他注意到另一种选择可能是 Shrimp它使用包含 Webkit 的 PhantomJS(这里是关于它的 post)。

我们的另一个问题是分页。我们想确保我们有一种方法来指示某些内容属于一起,以便模板或 View /部分的某些部分不会在 PDF 创建或打印过程中被破坏。提示可能是部分版本的Webkit存在与此相关的问题。

(注意:我还找到了这个旧的 question 和一些信息。)

为了将这些 PDF 直接打印到一台或多台打印机,我被告知 CUPS可以直接打印PDF文件,不用转PS什么的。 Ruby Toolbox表明 cups gem(快速使用指南 here )可能是一个不错的选择。

(注意:我还通过 Open3 找到了 Ruby->lpr 的示例,但我们可能会使用 CUPS。)

最佳答案

wkhtmltopdf 使用旧版本的 Qt,因为它们依赖于某些补丁来支持连字符、多列和其他特定的打印相关需求。

我已经转而使用 PrinceXML 从 HTML+CSS 生成 PDF,它的优点是速度非常快、非常可靠,并且支持所有与打印相关的需求,从边距框到稳健的连字符,再到寡妇,孤儿,分页控制。它既商业又昂贵,这是我能找到的唯一缺点。

我使用 HP 的 ePrint 服务通过电子邮件将 PDF 发送到网络连接的打印机,该服务非常可靠。 (披露:我在惠普工作。)

关于ruby-on-rails - 渲染 Rails 模板/ View 以生成 PDF 然后直接从服务器通过 CUPS 打印的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20149665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com