我需要获取PDF,向其添加一些动态生成的许可文本,并在将文档通过电子邮件发送给目标收件人之前对其进行数字签名。在PHP中执行此操作的最佳方法是什么?
我对数字标牌的理解是将PDF的内容转换为散列,并将文档的某些属性设置为此值。如果转换为哈希值时的内容与该属性中的哈希值不匹配,则文档已被更改。它是否正确? this和this页面上讨论的证书是什么?
我是否认为用TCPDF编辑现有PDF是不可能的,只是为了创建一个新的? SetaPDF Stamper和SetaPDF Signer是一个有效且不错的选择吗?
非常感谢
答案 0 :(得分:0)
商业PDFlib产品包含一个名为“PLOP DS”的功能,允许您从PHP执行数字签名操作,以及在其他库中销售一组令人难以置信的完整PDF操作。您可以阅读有关功能集here的更多信息,或从here下载评估版。
答案 1 :(得分:0)
我正面临着相同的项目。我的研究使我明白了这一点:
https://github.com/open-eid/browser-extensions2
关于设计以及如何实施解决方案的信息很多。我开始消化所有这些信息,因此,一旦我获得更多信息,我就会更新我的答案。希望这为您找到解决方案的起点。
SetaPDF签名器是等式的WebServer部分。看看这个例子:
https://www.setasign.com/products/setapdf-signer/demos/lacuna-web-pki/#p-529
答案 2 :(得分:0)
我来晚了,但是写这篇帖子希望答案对那些仍在寻找可以从浏览器USB令牌和服务器上的PHP签署PDF的可行解决方案的人有所帮助
请参考我在this stackoverflow post中的回答
Signer.Digital或任何提供程序的Java数字签名组件可以通过Apache代理通过在Tomcat上运行的JavaBridge使用,以通过服务器端的浏览器USB令牌和PHP对PDF进行数字签名。