为了账号安全,请及时绑定邮箱和手机立即绑定

使用 fpdm 填充字段(不使用 PDFtk)后,PHP 压平 PDF 表单

使用 fpdm 填充字段(不使用 PDFtk)后,PHP 压平 PDF 表单

PHP
大话西游666 2024-01-19 15:34:30
我见过很多问题相同的问题,但大多数解决方案仍然以安装 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 的所有工具)?
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

我们没有使用graphicsMagick来压平pdf,而是偶然发现了pdftocairo。然后,以下命令会展平 pdf,而不更改字体和对梳状字段的支持(graphicsMagick 和 GhostScript 都不支持):

shell_exec("pdftocairo -pdf $tmpFile $PDFFile");

因此,如果有人需要在 Ubuntu 18.04 服务器上压平 PDF,则可以在其上安装与 PDFtk 相反的 pdftocairo,无需额外的软件包,并且可以满足我的需要。它还具有更多与 PDF 相关的功能,可能与 PDFtk 相当。


查看完整回答
反对 回复 2024-01-19
  • 1 回答
  • 0 关注
  • 35 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信