首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用Ruby在现有PDF上进行编辑或编写?

如何用Ruby在现有PDF上进行编辑或编写?
EN

Stack Overflow用户
提问于 2012-02-07 23:58:23
回答 8查看 29.2K关注 0票数 42

我有几个PDF模板文件与复杂的内容和几个空白的区域/区域在他们。我需要能够在这些空白区域中写入文本,并将结果PDF保存在文件夹中。

我在谷歌上搜索了这个问题的答案,但没有找到确切的答案。更好的解决方案之一是PDF::工具包,但是它需要购买Acrobat来向现有的PDF文档添加可替换的属性。

PHP中有FPDI,它可以用来简单地打开一个PDF文件,并在现有内容的基础上编写/绘图。有一个这个库的Ruby端口,但最后一次提交是在2009年初。而且,该项目似乎没有得到广泛的使用和支持。

的问题是:有什么更好的方法来编辑、编写或绘制现有的PDF呢?

这个问题在这里似乎也没有得到回答。这些问题是相关的,但并不完全相同:

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-02-09 05:47:37

您一定要查看对虾 gem,通过它您可以生成任何定制的pdf文件。实际上,通过将现有PDF作为新对虾文档的模板,您可以使用对虾将文本写入现有的pdfs。

例如:

代码语言:javascript
运行
复制
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.majesticseacreature.com/manual.pdf

票数 35
EN

Stack Overflow用户

发布于 2015-05-18 23:39:26

由于对虾删除了模板特性(它充满了bug),我发现最简单的方法是:

  1. 使用对虾生成一个仅包含要添加的动态部件的PDF。
  2. 使用PDF::工具包 (包装PDFtk)将Prawn与原始版本结合起来。

粗略的例子:

代码语言:javascript
运行
复制
require 'prawn'
require 'pdf/toolkit'

template_filename = 'some/dir/Awesome-Graphics.pdf'
prawn_filename = 'temp.pdf'
output_filename = 'output.pdf'

Prawn::Document.generate(prawn_filename) do
  # Generate whatever you want here.
  text_box "This is some new text!", :at => [100, 300]
end

PDF::Toolkit.pdftk(prawn_filename, "background", template_filename, "output", output_filename)
票数 24
EN

Stack Overflow用户

发布于 2015-06-01 09:58:01

我建议使用对虾生成PDF,然后使用pdf格式将两个生成的PDF合并为一个。我就这样用,效果很好。

关于如何组合两个PDF的简短示例(来自自述):

代码语言:javascript
运行
复制
company_logo = CombinePDF.load("company_logo.pdf").pages[0]
pdf = CombinePDF.load "content_file.pdf"
pdf.pages.each { |page| page << company_logo } # notice the << operator is on a page and not a PDF object.
pdf.save "content_with_logo.pdf"
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9185942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档