我的目标是用用户数据填充现有的PDF交互式表单。
对此的要求是:
- 它应该能够将数据插入文本字段
- 它应该能够在XY位置上插入图像
我发现了FillablePDF gem,用于将数据插入交互式PDF表单。但是,找不到是否可以插入图像。
因为插入了一个图像,我发现了虾宝石。
有没有更好的方法或解决方案,只有FillablePDF宝石?
您可以使用最新版本的HexaPDF来完成这两项任务,该版本已获得对AcroForm交互式表单的支持。HexaPDF是一个纯粹的Ruby PDF操作和创建库,因此您不需要像FillablePDF一样依赖iText和Java。
你任务的代码应该是这样的:
require 'hexapdf'
doc = HexaPDF::Document.open(input_pdf_file)
doc.acro_form.field_by_name('Name of text field').field_value = 'New value'
doc.pages[0].canvas(type: :overlay).image(image_file, at: [x, y])
doc.write('output.pdf')
请注意,如果这是一个商业项目,你很可能需要HexaPDF的商业许可证。
或者,使用虾和虾空白宝石也应该有效。
(注:我是HexaPDF的作者。(