【发布时间】:2011-01-23 15:17:09
【问题描述】:
这让我彻底发疯......基本上我有一个由 TCPDF 生成的 PDF 表单,并希望为该 PDF 设置用户权限(使用 setUserRights),以便用户可以使用他们输入的数据保存表单。 TCPDF 手册在这一点上并没有真正的帮助,并指出您需要“签名证书”才能启用保存和其他扩展功能。
所以我使用 OpenSSL 生成了一个 SSL 证书和私有证书,并使用 setSignature 方法“导入”了它们。如果不使用这种方法,Adobe Reader 会抱怨:
此文档启用扩展 Adobe Reader 中的功能。文件 自创建以来已更改 并且不使用扩展功能 更长的可用时间。请联系 作者为原始版本 这份文件。
当设置了所需的 setSignature 方法时,该消息不会出现,但 Reader 仍然无法保存 PDF。
$this->Pdf->setSignature("file:///certificates/forms.crt", "file:///certificates/forms.key", "somepassword", "", 3);
然后我设置完整的用户权限:
$this->Pdf->setUserRights(true, '/FullSave', '/Create/Delete/Modify/Copy/Import/Export', '/Add/Delete/FillIn/Import/Export/SubmitStandalone/SpawnTemplate', '/Modify');
有没有人使用过这个特定的功能并且能够指出我在这里做错了什么?
更新
TCPPDF 使用演示证书包含an example。但我不清楚如何获得这样的证书。使用演示版仍然无法正确设置用户权限。
【问题讨论】:
标签: php pdf certificate pdf-generation tcpdf