我一直在我的应用程序中使用wkhtmltoppdf生成pdf,因为现在我发现它不支持超过1000页的文件。我有兴趣尝试虾pdf,因为它看起来比其他gem更快。 任何人都可以告诉我们,无论如何,我们都在虾宝石中将html转换为pdf? 如果不像pdfkit和wkhtmltopdf那样,那么是否有任何方法可以调试虾生成的pdf以进行样式设置,例如我们有wkhtmltopdf的方法呢?
答案 0 :(得分:1)
任何人都可以告诉我们,在虾子宝石中,我们可以将html转换为pdf吗?
Prawn不是html到pdf生成器,他们将此指向官方网站http://prawnpdf.org/api-docs/2.0/
“大虾不是现在也永远不会是HTML到PDF的一件事 发电机。对于这些需求,请考虑通过以下方式调查FlyingSaucer JRuby或基于Webkit的工具之一,例如Wicked或PDFKit。我们的确是 具有内联样式的基本支持,但仅限于 功能的一小部分,不适合呈现丰富 HTML文档。”
如果不像pdfkit和wkhtmltopdf一样,那么可以通过任何方式调试pdf 虾生成的样式,就像我们有办法wkhtmltopdf一样?
要调试Prawn生成的pdf,我认为最简单的方法是生成一个新的pdf或使您的控制器响应您的pdf:
Prawn::Document.generate("path/to/pdf/example.pdf") do
pdf.text "Hello"
end
控制器回复pdf:
format.pdf do
pdf = PdfGenerator.new(@invoice)
send_data pdf.render,
filename: "pdf_test",
type: 'application/pdf',
disposition: 'inline'
end
并在每次进行更改时刷新页面。
要测试生成的pdf,pdf-inspector gem是好的。
这些教程可能会帮助您:
https://grzegorowski.com/using-prawn-gem-for-generating-pdfs-in-rails-5/
https://rubyplus.com/articles/3891-PDFs-with-Prawn-in-Rails-5