首页 文章

渲染Rails模板/视图以生成PDF然后通过CUPS从服务器直接打印的方法?

提问于
浏览
2

我正在寻找一种方法让Rails动作使用定义的模板自动渲染到打印机(或查看部分,如.html.erb或类似的),这样用户/客户端就可以打印而无需在本地设置打印机 . 服务器正在运行Linux,它能够在现场打印到用户选择的打印机 . 如果需要的话首先生成临时PDF,这没关系 . 总而言之,我们在Rails中寻找类似于“render to CUPS”(和/或lpr)的东西 .

这是我到目前为止发现的:

根据Ruby ToolboxPrawn(和prawn-labels看起来不错),Wicked PDFPDFKit是一些很好的方法,其中包括在Ruby中生成PDF,后两者更倾向于在Webkit中呈现HTML并从中生成PDF .

然而,另一个团队成员对此进行了更多调查并注意到wkhtmltopdf(Wicked PDF和PDFKit都使用)自2010年以来尚未发布,并且,即使仍然存在active work on it,它通过Qt 4.4直接使用Webkit,我们需要'd like to avoid that dependency if it isn' . 他注意到一个替代方案可能是Shrimp,它使用包含Webkit的PhantomJS(这里有一个关于它的post) .

我们的另一个问题是分页 . 我们希望确保我们能够指示某些内容属于一起,以便在PDF创建或打印期间模板或视图/部分的某些部分不会被破坏 . 有人指出,某些与此相关的Webkit版本可能存在一些问题 .

(注意:我也发现这个旧的question有一些信息 . )

为了将这些PDF直接打印到一台或多台打印机,我被告知CUPS可以直接打印PDF文件而无需转换为PS或任何东西 . Ruby Toolbox显示杯子宝石(快速使用指南here)可能是一个不错的选择 .

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

1 回答

  • 1

    wkhtmltopdf正在使用旧版本的Qt,因为它们依赖于某些补丁来进行连字支持,多列以及其他特定的打印相关需求 .

    我已经转而使用PrinceXML从HTML CSS生成PDF,它具有非常快速,非常可靠的优势,并且支持每个与打印相关的需求,从边距框到强大的连字,到寡妇,孤儿,页面 - 打破控制 . 这是商业和昂贵的,这是我能找到的唯一缺点 .

    我已经使用HP的ePrint服务将PDF发送到网络连接的打印机,这是可靠的 . (披露:我为HP工作 . )

相关问题