我们正在我们的应用程序中重构我们的PDF生成器,并正在寻找我们现在使用的黑客攻击的替代方案。经过一些研究,似乎Prawn或PDFKit是可行的方式。
理想情况下,我们希望进行HTML到PDF转换,但也包含一些通过Ruby填写的字段,比如说
<h1>#{user.name}</h1>
因此,生成PDF时,将替换为用户名。关于如何使用/示例如何执行此操作的任何建议?
感谢。
答案 0 :(得分:0)
你看过王子的PDF生成吗?我最近浏览了所有的Prawn和PDFKits以及诸如此类的东西,发现它们太过......很奇怪了。
Prince直接使用HTML并输出PDF。使用Rails非常简单 - 只需创建一个模板并通过Rails模板系统运行它并将其吐出到文件(或直接传递给Prince的管道)而不是屏幕。
例如,请参阅Rails中的render_to_string
。您可以使用它将渲染的数据保存到文件中并将其提供给Prince(或您选择使用的任何其他PDF生成器)。
答案 1 :(得分:0)
查看wkhtmltopdf(GitHub) - 它使用webkit进行渲染,因此您可以获得相当不错的结果。它有一些怪癖(例如,当使用连字呈现字体时,Adobe Reader中会出现奇怪的字符),因此在您决定在生产中使用它之前,请对其进行测试。
当然,您可以使用您选择的模板语言生成HTML,就像使用任何网页一样。