我正在使用iText加密PDF文件:

stamp.setEncryption(hardPasswordByte,
                    hardPasswordByte,
                    PdfWriter.ALLOW_PRINTING,
                    PdfWriter.ENCRYPTION_AES_128 | PdfWriter.DO_NOT_ENCRYPT_METADATA);


注意,我指定了PdfWriter.DO_NOT_ENCRYPT_METADATA

但是,当我尝试仅读取这样的文档元数据时(不解密文档):

PdfReader ReadInputPDF = new PdfReader(path);
byte Document_MetaData[] = ReadInputPDF.getMetadata();


我收到“错误的用户密码”异常。

有没有一种方法可以在不解密文档的情况下读取metadate?

最佳答案

您可以尝试提供密码给您的PdfReader构造函数:

new PdfReader(path, hardPasswordByte);

关于java - 在不解密文件的情况下读取加密的pdf元数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19637397/

10-09 09:20