【发布时间】:2021-06-21 13:10:15
【问题描述】:
我正在使用 iText v7 阅读 PDF 文件,并且正在检测加密文件,如下所示:
try (final PdfReader pdfReader = new PdfReader(file.getAbsolutePath())) {
PdfDocument document = new PdfDocument(pdfReader);
System.out.println("encrypted = " + pdfReader.isEncrypted());
}
我想知道对 PDF 文件允许哪些单独的权限(打印、复制文本、修改内容、修改注释)。
我知道getPermissions 方法应该返回从文件读取的权限,但我没有设法检查相关标志,即以下代码不会产生正确的结果:
final long perm = - pdfReader.getPermissions();
if ((perm & EncryptionConstants.ALLOW_PRINTING) == EncryptionConstants.ALLOW_PRINTING) {
System.out.println("Allow printing");
}
我找到的文档在这个主题上有点简洁,主要详细说明了如何创建具有特定权限的加密文件。
【问题讨论】: