我有两个PDF模板文件,内容复杂,其中有几个空白区域.我需要能够在这些空白区域写入文本,并将生成的PDF保存在文件夹中.

我在谷歌上搜索了这个问题的答案,但没有找到确切的答案.更好的解决方案之一是PDF::Toolkit,但需要购买Adobe Acrobat才能为现有PDF文档添加可替换属性.

PHP世界有幸拥有FPDI个可用于打开PDF文件并在现有内容上写入/绘制的文件.有一个Ruby port of this library,但它的最后一次promise 发生在2009年初.而且这个项目看起来并没有得到广泛的应用和支持.

The question is:在现有PDF上编辑、编写或绘图的更好的Ruby方式是什么?

这个问题在这里似乎也没有得到回答.这些问题是相关的,但实际上并不相同:

推荐答案

你一定要查看Prawn个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的第一页.

更多信息请参见:

Ruby-on-rails相关问答推荐

如何测试自定义路由?

Rails TurboStream:可以向元素动态添加一个css类吗?

是否可以使用 Turbo 帧更新 Rails 表单输入字段值?

Ruby on Rails 更新触发了 Mailer 函数中的 ArgumentError

Rails 7 应用程序 - 引用模型文件时出现未初始化常量错误

I18n 用于特定于模型的 Rails 提交按钮

骨干model.destroy()即使工作正常也会调用错误回调函数?

Gem 更新:在从 ASCII-8BIT 到 UTF-8 到 US-ASCII 的转换中,无法将 "\xE7" 转换为 UTF-8

如何将自定义过滤器添加到 Active Admin?

HABTM 关系 - 如何根据关联模型的属性找到记录

在 Epoch 中将 Ruby 时间戳转换为秒数并返回

Rspec 与 TestUnit

默认呈现 JSON 而不是 HTML?

如何测试自定义验证器?

在 ruby​​ on rails 中创建自定义 html 助手

如何一次显示一条 Ruby on Rails 表单验证错误消息?

rails respond_to format.js API

Rails 3:乘客找不到Bundle 程序安装的 git gem

使用redirect_to后如何停止控制器执行? (使用导轨)

如何在 Ruby 类/模块命名空间中翻译模型?