2010-11-26 29 views
0

我已经通过堆栈溢出搜索以回应类似的问题。操纵PDF文件和使用Adobe Form字段

我目前有一个预先制作的PDF,我已经去使用Adobe Acrobat PRO在PDF中创建一些输入字段。

一旦我完成了整个表单,我想使用PHP来运行PDF填充表单和来自数据库的相关信息,然后重新保存PDF。

目前我正在使用X,Y值系统,并使用ZEND_PDF来实现这一目标,这很好,但是当我试图创建一个复杂的PDF时,效率就下降了。我认为首先在PDF中创建表单将是一种更有效的方式。

我已阅读有关使用FDF作为可能的解决方案,但不知道这是否是最佳路线。 我创建Acrobat中的字段后,我保存它,然后转到表格 - >导出表单数据 - > FDF或XML

但我的文件中的反应是,如果我在记事本打开它,如下所示:

%FDF-1.2 
%âãÏÓ 
1 0 obj 
<</FDF<</F(this-is-my-pdf-pro.pdf)/Fields[<</T(contractType)/V/Off>>]/ID[<545A7F611C15BEFE4DFE4C7C829256AE><60AD70B6B530BF42B5F2D52956886AA7>]/UF(this-is-my-pdf-pro.pdf)>>/Type/Catalog>> 
endobj 
trailer 
<</Root 1 0 R>> 
%%EOF 

而且我似乎没有看到除1 RADIO选择选项之外的任何字段的任何引用...我在那里有文本字段,但没有显示。 所以我的问题归结为,这是最好的解决方案是什么?

  1. 继续使用X,Y坐标,以填补在使用Adobe Acrobat创建领域和运行搜索和替换什么的我的PDF

如果有人有任何解决方案,我会非常感激!

回答

0

我已成功使用PDFlib填写“模板”PDF。它有一个“块”系统,您可以在PDF上“绘制”块,并通过简单地指定“使用内容Y填充块X”来以编程方式在运行时填充它们 - 这里有图像,文本和PDF块类型。图像几乎可以是任何类型,文本可以包含任意的伪html和PDF特定的格式字符串。 PDF块允许您在块中嵌入另一个PDF。

缺点是PDFlib的许可证相当昂贵。

0

PDFtk应该可以帮助您从现有PDF文档中提取字段,然后使用实际值填充PDF。但奇怪的是,Acrobat不能正确地提取字段,所以在创建字段时我可能做了一些错误(我不知道Acrobat,因此无法帮助)。

无论如何,你可以检查哪些字段PDFTK发现这样的:

pdftk form.pdf dump_data_fields 

,然后在这样的表格:

pdftk form.pdf fill_form field-values.fdf output form-out.pdf 

PHP有工具来创建FDF files

+0

感谢您的答复我的问题,我忘了,我没有标明这个完整。我现在能够使用WKHTMLTOPDF作为解决方案。谢谢你的帮助! – Justin 2016-02-19 17:29:15