首先,我已经在 SO 和 Google 上对此进行了研究。事实上,基于此,我很怀疑我需要的东西是否存在。我几乎到了我可能会放弃接下来的 6 个月来从头开始写东西的地步,因为很明显每个人都想要一个 PHP 原生的服务器端表单填充器。
好吧,抱歉吐槽了……
这是我的情况:
1.我需要将预先填写的 PDF 表格交付给我的用户。
因为表单是基于 cookie 的身份验证,所以 Adobe Reader 不会打开 xfdf,而是将任务传递给浏览器。对于 Linux 用户和其他不使用 Adobe Reader 作为 PDF 阅读器的用户来说,这是一个问题。
哦,Adobe 还没有为 Snow Leopard 编写 64 位插件,所以我有三分之一的用户每次打印此表单时都必须将 Safari 更改为在 32 位模式下运行。
鉴于上述情况,交付已经填写好的 PDF 以便可以在 Preview、Foxit 等中打印,正逐渐成为最明显的解决方案。
2.我不能使用pdftk
这有点傻,但是由于 pdftk 是古老的并且需要 gcj 来编译它使用的过时版本的 itext,我无法在我的主机上安装 pdftk。服务器没有 gcj,我宁愿避免要求为这种情况安装它。
此外,即使我可以安装 pdftk,我也只能passthru()
通过 CGI 进行其他命令行操作,我也想避免这种情况。
3.我的主机目前没有安装PDFLib,
所以我不能在 php.ini 中使用 PDF 扩展名。并不是说它提供了这个功能,但我想也许它可以用来将 fdf 字典添加到通用表单中,就像 itext/pdftk 一样。
在我了解 TCPDF 和 FPDF 之前,我以为一切都已经丢失了。看起来 TCPDF 具有更强的跟踪记录和更多功能,但我在 Google 或他们的有关服务器端表单填写的文档上找不到任何内容。
如果这还不明显,我不需要用于生成 FDF 或 XFDF 的库。我已经把它记下来了。但事实证明,对于只想要组合产品的用户来说,这还不够。
所以我想我的问题是:
是否有一种预先构建的方法来输出一个新的 PDF,该 PDF 是填充了 XFDF 数据的通用表单?
如果没有,是否有一种解决方法不需要简单地在表单字段顶部(而不是在字段内)写入值?在字段顶部写入值意味着 javascript 不会验证这些值,并且我每次都需要手动更改流值。
如果两者都没有,是否有一个我还没有找到的 pdftk 端口可以与 PHP 一起使用,并且不只是通过命令行调用二进制文件?
对此的任何帮助将不胜感激。如果有人想自愿帮助我制作这样的库,请告诉我,我已经在努力学习 PDF 语法,以防万一。