ich die folgenden Ausnahme erhalten, wenn Sie diesen Code excecuting:iText - lesen Sie PDF-Dateien mit einem unbekannten Zufall Besitzer Passwort erstellt
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) {
...
}
}
Ausnahme:
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
ich andere Threads zu diesem Thema geprüft und es scheint, dass die einfachste Lösung ist, PdfReader.unethicalreading = true;
hinzuzufügen, aber ich bin gezwungen, iText 2.1.7 oder älter zu verwenden (com.lowagie
iText) und nicht iText 5.0.0 oder neuer (com.itextpdf
iText). PdfReader.unethicalreading
ist in der alten Version der Bibliothek nicht vorhanden.
Warum sind Sie eine alte und unmaintained Version von iText zu verwenden gezwungen, die nicht die Funktion enthält, die Sie brauchen? –
Wenn Sie sich den Quellcode anschauen (https://github.com/itext/itextpdf/blob/develop/itext/src/main/java/com/itextpdf/text/pdf/PdfReader.java), werden Sie das sehen 'unethicalreading' wurde in iText 5.0.2 (' com.itextpdf' iText) _ hinzugefügt. Genauer gesagt, in diesem Commit: https://github.com/itext/itextpdf/commit/c27c608dee1495b91dc290653b1f387d7c09adde am 31. März 2010. Was bedeutet, dass Sie eine Version von iText verwenden, die mindestens 6 Jahre alt ist. –