これは私を完全に完全に狂わせています...基本的に、私は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');
誰かがこの特定の機能を使用して、ここで間違っていることを指摘できますか?
アップデート
TCPDF には、デモ証明書を使用した例が含まれています。しかし、そのような証明書を取得する方法は私には不明です。デモ版を使用しても、ユーザーの権限を正しく設定できません。