如何使用TCPdf和PHP创建一个只能通过Adobe Reader打开的pdf文件

3
我正在使用PHP/TCPdf创建一个PDF文件,并希望该文件只能由Adobe Reader查看。
我希望显示相同或其他信息:
要查看此文档的全部内容,您需要更新PDF浏览器的版本。您可以从www.adobe.com/products/acrobat/readstep2.html升级到最新版本的Adobe Reader。 请前往www.adobe.com/support/products/acrreader.html获取进一步支持。
就像这个http://www.kuleuven.be/lucas/Docs/Vacatures/2014_107_ADOCARE.pdf 我可以使用TCPdf或嵌入PDF的JavaScript实现吗?
谢谢。

2
为什么需要使用Adobe Reader?对于像我这样使用Linux的人来说,这是一个大问题。 - user1846065
1
你需要Adobe Reader的哪个特定功能?那么Acrobat呢?在设备上使用时(Adobe Reader在最好的情况下也只是平庸),有什么问题吗? - Max Wyss
1
就像这个文件一样 - 那个 PDF 实际上只是一个包含 XFA 表单的容器。它的 PDF 内容是带有“查看... html”的页面,而工作报价则是嵌入的 XFA 文档的内容。如果您想要相同的行为,请执行相同的操作。 - mkl
我们的客户是政府,都在使用Windows操作系统。强制使用Adobe Reader是为了达到完美的打印效果。 - sakura_liu
1个回答

3
需要 Adobe Acrobat/Reader 的最常见原因是 Acrobat JavaScript 功能。在这种情况下,最佳实践是设置文档,以显示一个普通的 PDF 查看器版本,并声明需要更智能的查看器。然后您可以提供一个文档级别的脚本来停用该指示并初始化文档以适用于更智能的 PDF 查看器。
换句话说,该方法假定 PDF 查看器很笨,并提供手段让智能的 PDF 查看器解锁高级功能。
对于其他需要 Acrobat/Reader 的原因,例如正确显示过印和透明度,可能需要将实际文档嵌入到包装的 PDF 中,并在符合条件时才导出包装文件。

2
需要Adobe Acrobat/Reader的最常见原因是Acrobat JavaScript功能或XFA支持。 - mkl
哦,是的,XFA...我认为可以用我回答中描述的方法来处理。如果XFA真的是正确的选择,请三思而后行... - Max Wyss
@MaxWyss:您有没有PHP读取带XFA表单的PDF文件的代码?请给我建议。 - Lakhan
@Lakhan:我脑海中暂时没有想法。请记住,表格必须首先是XFA表格。然后,您应该能够提取XML部分,然后解析它。 - Max Wyss
@MaxWyss:感谢您的回复。 - Lakhan
@MaxWyss:是的,你说得对。它是以xml的形式存在的。但我不知道如何在php中从pdf中提取该xml。我正在使用pdftk库,它几乎提供了表单的所有字段。但无法以xml格式提取数据。所以,如果你有任何关于此的想法,请告诉我。再次感谢您的回复。 - Lakhan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接