使用Apache PDFBox从PDF文件中移除加密。

10

2
根据PDF的加密类型,解密它是很容易的(否则如何显示它)。然而,允许没有授权(所有者密码)的任何人删除加密,这打破了加密的概念。如果您有加密的PDF文件并且没有所有者密码,则应向文档所有者寻求未加密版本。 - mkl
1个回答

25
这是您需要做的事情(灵感来自于PDFBox WriteDecodedDoc 命令行工具):

if (doc.isEncrypted()) {
    try {
        doc.decrypt("");
        doc.setAllSecurityToBeRemoved(true);
    } catch (Exception e) {
        throw new Exception("The document is encrypted and we can't decrypt it.", e);
    }
}

注意:您可能需要包含Bouncy Castle JAR。

这是已弃用的API。请使用https://dev59.com/610b5IYBdhLWcg3wCtXY#29676262中概述的新API。 - koppor
5
没有doc.decrypt()这样的方法 - 只需使用doc.setAllSecurityToBeRemoved(true)即可。 - Enrico Giurin

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