使用Ruby / Rails中的变量从HTML生成PDF

时间:2011-07-06 16:56:31

标签: ruby-on-rails ruby pdf pdf-generation

我们正在我们的应用程序中重构我们的PDF生成器,并正在寻找我们现在使用的黑客攻击的替代方案。经过一些研究,似乎Prawn或PDFKit是可行的方式。

理想情况下,我们希望进行HTML到PDF转换,但也包含一些通过Ruby填写的字段,比如说

<h1>#{user.name}</h1>

因此,生成PDF时,将替换为用户名。关于如何使用/示例如何执行此操作的任何建议?

感谢。

2 个答案:

答案 0 :(得分:0)

你看过王子的PDF生成吗?我最近浏览了所有的Prawn和PDFKits以及诸如此类的东西,发现它们太过......很奇怪了。

Prince直接使用HTML并输出PDF。使用Rails非常简单 - 只需创建一个模板并通过Rails模板系统运行它并将其吐出到文件(或直接传递给Prince的管道)而不是屏幕。

例如,请参阅Rails中的render_to_string。您可以使用它将渲染的数据保存到文件中并将其提供给Prince(或您选择使用的任何其他PDF生成器)。

王子:
http://www.princexml.com/

答案 1 :(得分:0)

查看wkhtmltopdfGitHub) - 它使用webkit进行渲染,因此您可以获得相当不错的结果。它有一些怪癖(例如,当使用连字呈现字体时,Adobe Reader中会出现奇怪的字符),因此在您决定在生产中使用它之前,请对其进行测试。

当然,您可以使用您选择的模板语言生成HTML,就像使用任何网页一样。