gpt4 book ai didi

java - 使用 PDFBox 2.0.0 签署加密的 PDF 文档

转载 作者:行者123 更新时间:2023-11-30 11:06:37 28 4
gpt4 key购买 nike

我尝试对允许签名的加密 PDF 文档进行签名。
本文档:Encrypted PDF document
使用 PDFBox 2.0.0 示例代码:CreateSignature.java

但是我遇到了这个异常:

Exception in thread "main" java.lang.NullPointerException
at org.apache.pdfbox.pdmodel.encryption.StandardSecurityHandler.computeRevisionNumber(StandardSecurityHandler.java:131)
at org.apache.pdfbox.pdmodel.encryption.StandardSecurityHandler.prepareDocumentForEncryption(StandardSecurityHandler.java:335)
at org.apache.pdfbox.pdfwriter.COSWriter.write(COSWriter.java:1254)
at org.apache.pdfbox.pdmodel.PDDocument.saveIncremental(PDDocument.java:966)
at principal.CreateSignature.signDetached(CreateSignature.java:179)
at principal.CreateSignature.signDetached(CreateSignature.java:154)
at principal.CreateSignature.main(CreateSignature.java:334)

我不知道文件是否通过,但允许签名:

Document Restrictions Summary

我应该怎么做才能签署这份文件?

最佳答案

此问题已在 PDFBox 2.0 RC3(今天发布)中修复,请尝试。

虽然 Gleb 的回答是善意的,但它是不正确的,原因是我在问题中写过: https://issues.apache.org/jira/browse/PDFBOX-2729

方案有个问题是先读取文件再保存,所以签名前已经不一样了。另一个问题是我们必须使用与最初相同的方法和相同的加密 key 进行加密。对于 AES256,此(内部)加密 key 具有随机成分,即使用户向 API 提供了相同的 key 也是如此。

关于java - 使用 PDFBox 2.0.0 签署加密的 PDF 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29232684/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com