Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何呈现Rails模板/视图以生成PDF,然后从服务器通过CUPS直接打印?_Ruby On Rails_Ruby_Printing_Pdf Generation_Postscript - Fatal编程技术网

Ruby on rails 如何呈现Rails模板/视图以生成PDF,然后从服务器通过CUPS直接打印?

Ruby on rails 如何呈现Rails模板/视图以生成PDF,然后从服务器通过CUPS直接打印?,ruby-on-rails,ruby,printing,pdf-generation,postscript,Ruby On Rails,Ruby,Printing,Pdf Generation,Postscript,我正在寻找一种Rails操作的方法,使用定义的模板(或view+partials,如.html.erb或类似的模板)自动呈现到打印机,这样用户/客户端就可以打印,而不必在本地设置打印机。服务器正在运行Linux,并且能够在现场打印到用户选择的打印机。如果需要,它可以先生成一个临时PDF。总之,我们在Rails中寻找类似于“渲染到CUPS”(和/或lpr)的东西 以下是我到目前为止的发现: 根据(看起来不错),或者是一些用Ruby生成PDF的好方法,其中后两种方法更倾向于在Webkit中呈现HTM

我正在寻找一种Rails操作的方法,使用定义的模板(或view+partials,如.html.erb或类似的模板)自动呈现到打印机,这样用户/客户端就可以打印,而不必在本地设置打印机。服务器正在运行Linux,并且能够在现场打印到用户选择的打印机。如果需要,它可以先生成一个临时PDF。总之,我们在Rails中寻找类似于“渲染到CUPS”(和/或lpr)的东西

以下是我到目前为止的发现:

根据(看起来不错),或者是一些用Ruby生成PDF的好方法,其中后两种方法更倾向于在Webkit中呈现HTML并从中生成PDF

然而,另一位团队成员更深入地研究了它,并注意到wkhtmltopdf(Wicked PDF和PDFKit都使用)自2010年以来一直没有发布过,而且,尽管仍然有,它通过Qt 4.4使用Webkit而不是直接使用Webkit,如果不需要的话,我们希望避免这种依赖性。他注意到另一种选择可能是使用PhantomJS,其中包括Webkit(这里有一个关于它的例子)

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

(注意:我还发现了这张旧照片和一些信息。)

对于直接将这些PDF打印到一台或多台打印机,我被告知可以直接打印PDF文件,而无需转换为PS或其他任何东西。说明cups gem(快速使用指南)可能是一个不错的选择


(注意:我还发现了Ruby->lpr via的一个示例,但我们可能会使用CUPS。)

wkhtmltopdf使用的是较旧版本的Qt,因为它们依赖于某些补丁程序来支持断字、多列以及其他与打印相关的特定需求

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


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

Hi Gary up vote 2 down vote favorite尝试使用“cupsffi”ruby gem打印prn文件,但它将prn文件视为简单文本文件。我下面的链接请推荐