2

我得到了一个由 Acrobat 制作的带有可填写表单域的表单,它相当复杂。通过 PHP,我想“简单地”附加另一个页面,向表单页面添加条形码并添加元信息。

目前我无法保留可填充字段或 tcpdf/fpdi 根本无法读取 pdf 的压缩。我尝试了几个不同的 pdf 版本,但到目前为止还没有成功。

我尝试了 pdflib,但现在可以使用 tcpdf 和 fpdi,但是似乎没有办法实现它。我可以附加 pdf 文件并使用模板,但不能以任何具有或保留可填写字段的格式。

  1. tcpdf/fpdi 能做到这一点吗?
  2. 您知道实现此目的的任何其他解决方案吗?(基于 PHP/Linux)
4

1 回答 1

1

你想做的事情是不可能的。

Adobe 使用自己的专有方式来创建和填写 PDF 表单。Adobe Reader 只支持填写 PDF 表格...

  • ...由 Adob​​e 产品创建,并且
  • ...已分配“扩展权限”,因此 Reader 确实可以将表单数据保存在文档旁边。

尽管如此,仍有许多方法、实用程序、工具和程序可以创建和填写 PDF 表单:Scribus、iText、pdflib、tcpdf、pdftk、Foxit、XSL FO、OpenOffice.org 或 LibreOffice 等等......拒绝使用通过这些方式创建的文档填写+保存表单数据。

这背后的技术机制是:Adobe 使用自己的密钥对表单文档进行数字签名。Adobe Reader 和所有 Adob​​e 产品都知道此密钥。当您接受 Adob​​e Reader EULA 时,您同意不对该密钥进行逆向工程......--

这表示:

  • 大多数非 Adob​​e PDF 阅读器将无法“填写+保存”使用 Adob​​e 产品创建的表单(但他们可以“填写+打印”它们),除非他们可能已获得 Adob​​e 所述签名密钥的许可。
  • Adobe PDF 阅读器将拒绝“填充+保存”使用非 Adob​​e 产品创建的表单(但他们会“填充+打印”它们)。
于 2012-05-19T16:38:02.043 回答