ruby-on-rails - 使用 ruby​​ 将文本添加到现有 pdf

标签 ruby-on-rails ruby pdf

我有一个 Rails 应用程序正在连接任意数量的 pdf 文件。现在我需要使用 ruby​​ 向加入的 pdf 添加编号。

是否有使用 ruby​​ 向现有 pdf 文件添加文本或其他内容的最先进方法?

最佳答案

在 Ruby/Rails 中处理 PDF 真的很有挑战性(所以我发现了!)

这就是我能够在 Rails 中向 PDF 动态添加文本的方式。

将此 gem 添加到您的 gem 文件 gem "combine_pdf"

然后你可以使用这样的代码:

# get the record from the database to add dynamically to the pdf
user = User.last

# get the existing pdf
pdf = CombinePDF.load "#{Rails.root}/public/pdf/existing_pdf.pdf"

# create a textbox and add it to the existing pdf on page 2
pdf.pages[1].textbox "#{user.first_name} #{user.last_name}", height: 20, width: 70, y: 596, x: 72

# output the new pdf which now contains your dynamic data
pdf.save "#{Rails.root}/public/pdf/output#{Time.now.to_s}.pdf"

您可以在此处找到文本框方法的详细信息: https://www.rubydoc.info/gems/combine_pdf/0.2.5/CombinePDF/Page_Methods#textbox-instance_method

我花了几天时间研究了许多不同的 gem : 大虾 wicked_pdf pdfkit fillable_pdf

但截至 2019 年,这是迄今为止对我来说最顺利的解决方案。

我希望这可以为人们节省很多时间,这样他们就不必经历我在 PDF 中必须经历的所有反复试验!!

关于ruby-on-rails - 使用 ruby​​ 将文本添加到现有 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19228430/

相关文章:

ruby-on-rails - 如何从网站/博客中提取文章内容

Ruby:如何将日期时间字符串转换为纪元时间的 float ?

c++ - 波普勒替代品

iphone - QLPreviewController:临时文件在哪里?

css - SASS Compass 图像宽度和图像高度在 Rails 4 中不起作用

ruby-on-rails - rails 5.1 : "unknown firstpos: NilClass" - Issue reloading application

ruby-on-rails - 如何在 ActiveAdmin 中使用 ActiveStorage `has_many_attached` 编辑多个附加图像

ruby-on-rails - 如何将设计身份验证详细信息传递给 Rails Controller 操作?

javascript - 在 Rails 应用程序中使用 AJAX 更新模型字段而不使用表单

c# - 这个 CGPDFDictionaryGetString 如何转换成 Monotouch?