操作PDF文件和使用Adobe表单字段

时间:2010-11-26 22:27:31

标签: php zend-framework forms pdf pdf-generation

我已经搜索了堆栈溢出以回应类似的问题。

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

完成整个表单后,我想使用PHP在表单中运行PDF填充以及数据库中的相关信息,然后重新保存PDF。

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

我已经阅读过使用FDF作为可能的解决方案,但不确定这是否是最佳路线。 在Acrobat中创建字段后,我将其保存,然后转到FORMS - >出口表格数据AS - > 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坐标填写我的PDF
  2. 使用Adobe Acrobat创建字段并运行搜索和替换或其他什么?
  3. 如果有人有任何解决方案,我会非常感激!

3 个答案:

答案 0 :(得分:0)

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

缺点是PDFlib的许可证非常昂贵。

答案 1 :(得分: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

答案 2 :(得分:0)

我能够使用WKHTMLTOPDF作为管理我的一些字段和信息的途径。

http://wkhtmltopdf.org/