Troubleshooting
Dokument lässt sich nicht schließen — Speicherleck
Document implementiert AutoCloseable. Verwenden Sie stets einen try-with-resources-Block:
try (Document doc = new Document("input.pdf")) {
// operations
} // doc.close() called automaticallyOutOfMemoryError mit großen Dateien
Bei großen Dokumenten aktivieren Sie die Festplattenpufferung in PdfFileEditor:
PdfFileEditor editor = new PdfFileEditor();
editor.setUseDiskBuffer(true);
editor.concatenate(inputFiles, "output.pdf");PdfFileSecurity: Ungültiges Passwort
decryptFile(password) gibt false zurück, wenn das angegebene Passwort ungültig ist. Überprüfen Sie stets den Rückgabewert und behandeln Sie den Fehlfall:
try (PdfFileSecurity security = new PdfFileSecurity()) {
security.setInputFile("encrypted.pdf");
security.setOutputFile("decrypted.pdf");
boolean ok = security.decryptFile("ownerPassword");
if (!ok) {
System.err.println("Decryption failed — verify the owner password.");
}
}PdfFileEditor: Null-Argumente
PdfFileEditor.resizeContents() ignoriert stillschweigend Null-Argumente, anstatt eine Ausnahme zu werfen. Wenn das Ausgabedokument nach resizeContents() unverändert erscheint, prüfen Sie, dass das ContentsResizeParameters-Argument nicht null ist und dass die Prozentwerte exakt 100 ergeben.
AESCipher: Falsche Schlüssellänge
AES erfordert Schlüssel mit exakt 16, 24 oder 32 Bytes (128, 192 oder 256 Bit). Die Übergabe eines Schlüssels mit falscher Länge führt zu einer Ausnahme des zugrunde liegenden Java Krypto-Providers.
Annotation nicht sichtbar
Wenn eine Annotation hinzugefügt wird, aber nicht im Viewer erscheint, prüfen Sie:
- Das Annotationsrechteck liegt innerhalb des
MediaBoxder Seite page.getAnnotations().add(annotation)wurde aufgerufen, nachdem alle Eigenschaften konfiguriert wurden- Das Dokument wurde nach dem Hinzufügen der Annotation gespeichert