gpt4 book ai didi

java - iText - 读取使用未知随机所有者密码创建的 PDF

转载 作者:行者123 更新时间:2023-11-29 02:59:05 29 4
gpt4 key购买 nike

执行此代码时出现以下异常:

public byte[] watermarking(byte[] orig) throws IOException {
PdfReader pdfReader = new PdfReader(orig);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfStamper pdfStamper = null;

try {
pdfStamper = new PdfStamper(pdfReader, baos); //exc here
...
}
...
} catch (DocumentException var8) {
...
}
}

异常(exception):

11:43:11,094 ERROR [de.mlp.xbg.pa.rest.SessionRR] (http-/127.0.0.1:8081-6) PdfReader not opened with owner password: java.lang.IllegalArgumentException: PdfReader not opened with owner password

我检查了有关此主题的其他线程,似乎最简单的解决方案是添加 PdfReader.unethicalreading = true;

但是,我不得不使用 iText 2.1.7 或更旧的 (com.lowagie iText) 而不是 iText 5.0.0 或更新的 (com.itextpdf iText)PdfReader.unethicalreading 在旧版本的库中不存在。

最佳答案

Here似乎有一种解决方法可以让 iText 忽略密码带有免责声明:

I leave legal issues up to you by executing the code below.

public static PdfReader unlockPdf(PdfReader reader) {
if (reader == null) {
return reader;
}
try {
java.lang.reflect.Field f = reader.getClass().getDeclaredField("encrypted");
f.setAccessible(true);
f.set(reader, false);
} catch (Exception e) { /* ignore */ }
return reader;
}

关于java - iText - 读取使用未知随机所有者密码创建的 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36176286/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com