我见过很多问题相同的问题,但大多数解决方案仍然以安装 PDFtk 结束,否则它们不需要拼合功能。可悲的是不适合我。
问题
我使用fpdm创建了一个自动填写的 PDF 表单。
问题是,如果在浏览器 PDF 查看器(在所有测试的浏览器上)中打开并打印 PDF,则复选框中的值不会显示。由于下载此 PDF 的是用户,因此无论在哪个程序中查看 PDF,这些值都应该可见。
所以我的想法是压平PDF,但fpdm需要PDFtk来压平PDF,而PDFtk无法安装在服务器上。
另外,由于我们使用 TYPO3 CMS,我想避免添加完整的框架(例如 zend-framework)。
我尝试使用graphicsMagick压平PDF,但首先质量非常差,其次使用PHP中的以下命令丢失了两页之一:
shell_exec('gm -flatten form.pdf form.pdf')
我只需要更改 gm 命令吗?如果是的话,怎么会这样呢?
如果 GM 不起作用,是否有人知道一个开源/免费的解决方案来压平 PDF 表单?
在此先感谢您的帮助。
更新
我找到了一个用 GraphicsMagick 拼合 PDF 的命令,它看起来比我上次尝试的要好得多:
shell_exec('gm convert -density 300 ' . $tmpFile . ' +adjoin -append -flatten ' . $PDFFile);
它仍然不完美,因为字体更改为展平之前使用的字体,但也许我也会找到解决方案。但与我上次的尝试相反,没有一页丢失。
然而,我仍然想知道 PDFtk 是否是唯一一个免费的 PHP 兼容工具来填充和展平 PDF 表单(忽略最终依赖于 PDFtk 的所有工具)?
阿晨1998