Troubleshooting

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 automatically

OutOfMemoryError 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:

  1. Das Annotationsrechteck liegt innerhalb des MediaBox der Seite
  2. page.getAnnotations().add(annotation) wurde aufgerufen, nachdem alle Eigenschaften konfiguriert wurden
  3. Das Dokument wurde nach dem Hinzufügen der Annotation gespeichert

Siehe auch

 Deutsch