我正在使用 PDFBox 来确定 pdf 文件是否受密码保护。 这是我的代码:
boolean isProtected = pdfDocument.isEncrypted();
我的文件属性在屏幕截图中。
在这里,我得到 isProtected= true
即使我可以在没有密码的情况下打开它。
注意:此文件有文档打开密码:否和权限密码:是。
最佳答案
您的 PDF 具有空的用户密码和非空的所有者密码。是的,它是加密的。这样做是为了防止人们做某些事情,例如内容复制。
这不是真正的证券;查看器软件有责任确保不允许进行“禁止”操作。
您可以找到更长(而且有点有趣)的解释 here .
要查看文档访问权限,请使用PDDocument.getCurrentAccessPermission()
。
在 2.0.* 中,如果此调用成功,用户将能够查看文件:
PDDocument doc = PDDocument.load(file);
如果抛出 InvalidPasswordException
,则表示需要非空密码。
关于java - 即使我可以打开文件,PDFBox也会返回isEncrypted true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39571878/