解锁受保护的pdf文件

时间:2012-01-05 20:41:50

标签: java pdf batch-file

我需要处理大量受保护的pdf文件并使用java程序编辑它们,但我没有这些文件的密码。 有没有办法用批量解锁这些文件?

我想要像工具或java开源API这样的Windows命令。 什么是最好的解决方案?

3 个答案:

答案 0 :(得分:17)

这些pdf文件是否要求打开密码,保护是否包含有关复制,打印,修改,文本提取等的限制?

如果是这种情况,您可以尝试使用

qpdf

用法:

qpdf --decrypt file.pdf unlocked.pdf

并且可以以批处理操作 en masse 使用,就这样

for f in *.pdf ; do qpdf --decrypt $f ${f%%.pdf}unlocked.pdf; done

答案 1 :(得分:1)

对于解密,您可以使用PDFBox,请在此处查看我的回答:https://stackoverflow.com/a/9976481/535203

我给出了一个示例代码来解密给定密码的PDF。

使用PDFBox还有一个二进制文件,请检查the usage here

答案 2 :(得分:0)

您也可以使用iText库。

以下是示例代码:

        PdfReader.unethicalreading = true;
        PdfReader reader = new PdfReader(inputFile);
        PdfEncryptor.encrypt(reader, new FileOutputStream(outputFile), null,
              null, PdfWriter.ALLOW_ASSEMBLY | PdfWriter.ALLOW_COPY
                  | PdfWriter.ALLOW_DEGRADED_PRINTING | PdfWriter.ALLOW_FILL_IN
                  | PdfWriter.ALLOW_MODIFY_ANNOTATIONS | PdfWriter.ALLOW_MODIFY_CONTENTS
                  | PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_SCREENREADERS, false);

P.S。 :使用unethicalreading标记自行承担风险