我有几个 PDF 模板文件,其中包含复杂的内容和几个空白区域/区域。我需要能够在这些空白区域写入文本并将生成的 PDF 保存在文件夹中。
我在谷歌上非常集中地搜索了这个问题的答案,但没有找到明确的答案。更好的解决方案之一是PDF::工具包 http://pdf-toolkit.rubyforge.org/,但需要购买 Adobe Acrobat 才能向现有 PDF 文档添加可替换属性。
PHP 世界充满了祝福FPDI http://www.setasign.de/products/pdf-php-solutions/fpdi/它可用于简单地打开 PDF 文件并在现有内容上书写/绘图。有一个该库的 Ruby 端口 https://github.com/jeremydurham/ruby-fpdi,但它的最后一次提交发生在 2009 年初。而且该项目看起来并没有被广泛使用和支持。
问题是:在现有 PDF 上编辑、书写或绘图的更好的 Ruby 方式是什么?
这个问题在这里似乎也没有答案。这些问题是相关的,但并不完全相同:
- Prawn gem:如何从*现有*文件(.xls)创建.pdf https://stackoverflow.com/questions/3148370/prawn-gem-how-to-create-the-pdf-from-an-existing-file-xls
- 使用 ruby 对现有 pdf 进行水印 https://stackoverflow.com/questions/2716148/watermark-existing-pdf-with-ruby
- 用于操作现有 PDF 的 Ruby 库 https://stackoverflow.com/questions/2458472/ruby-library-for-manipulating-existing-pdf
- 如何使用 Ruby Prawn 替换现有 PDF 中的单词? https://stackoverflow.com/questions/4869879/how-to-replace-a-word-in-an-existing-pdf-using-ruby-prawn
你一定要检查一下Prawn http://prawn.majesticseacreature.com/gem,您可以通过它生成任何自定义 pdf 文件。实际上,您可以使用 prawn 将文本写入现有 pdf,将现有 PDF 视为新 Prawn 文档的模板。
例如:
filename = "#{Prawn::DATADIR}/pdfs/multipage_template.pdf"
Prawn::Document.generate("full_template.pdf", :template => filename) do
text "THis content is written on the first page of the template", :align => :center
end
这会将文本写入旧 pdf 的第一页。
在这里查看更多内容:http://prawn.majesticeacreature.com/manual.pdf http://prawn.majesticseacreature.com/manual.pdf
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)