iText 2.1.7读取安全参数 - 每次零值

时间:2015-06-30 07:12:01

标签: security itext

我试图用编程语言java读取我的pdf权限和itext库2.1.7。如果我调用“com.lowagie.text.pdf.PDFReader.getPermissions()”,我每次都会得到0返回值。

如何获得Adobe PDF Reader中显示的权限,如“签名文档”?

亲切的问候

1 个答案:

答案 0 :(得分:1)

可能您的文档没有任何权限集 - 在这种情况下返回0(但没有原始PDF,很难说)。

在显示权限时,问题的根源很可能是误导性的adobe reader行为:

如果您在adobe reader中打开PDF并查看File \ Property \ Security选项卡,并且安全方法为“no security”,则表示没有定义权限。然而,adobe 读者仍然会将某些权限显示为“不允许”,这是由于读者本身无法做到这一点的能力。 '文档汇编'或'页面提取'。如果您使用adobe acrobat打开该PDF,则所有权限都将显示为“允许”,如果未定义任何权限,则这是标准。

要测试您的代码是否正常工作,请打开以下PDF

    InputStream fis = FileInputStream("encryption_encrypted.pdf");
    PdfReader reader = new PdfReader(fis,"World".getBytes());

    int permissions = reader.getPermissions();
    System.out.println(permissions);
    String verbose = PdfEncryptor.getPermissionsVerbose(permissions);
    System.out.println(verbose);