给定pdf
文件,是否可以确定该文件在Java中是否可编辑? PDDocument.getCurrentAccessPermission().isReadOnly()
不起作用。
答案 0 :(得分:1)
在1.8版本中,当使用“旧”解析器时,您需要先调用openProtection()
,因为这些文件是使用空密码“加密”的:
if (doc.isEncrypted()
{
doc.openProtection(new StandardDecryptionMaterial(""));
}
然后你可以打电话
doc.getCurrentAccessPermission().isReadOnly()
或AccessPermission
类中的任何其他方法。
或者,使用“新”非顺序解析器加载PDF:
PDDocument doc = PDDocument.loadNonSeq(new File(...), null);
然后doc.getCurrentAccessPermission().isReadOnly()
也可以被调用。