Troubleshooting

Troubleshooting

Il documento non si chiude — Perdita di memoria

Document implementa AutoCloseable. Usa sempre un blocco try-with-resources:

try (Document doc = new Document("input.pdf")) {
    // operations
} // doc.close() called automatically

OutOfMemoryError con file di grandi dimensioni

Per i documenti di grandi dimensioni, abilita il buffering su disco in PdfFileEditor:

PdfFileEditor editor = new PdfFileEditor();
editor.setUseDiskBuffer(true);
editor.concatenate(inputFiles, "output.pdf");

PdfFileSecurity: Password errata

decryptFile(password) restituisce false se la password fornita è errata. Controlla sempre il valore di ritorno e gestisci il caso di errore:

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: Argomenti nulli

PdfFileEditor.resizeContents() ignora silenziosamente gli argomenti nulli invece di lanciare un’eccezione. Se il documento di output sembra invariato dopo resizeContents(), verifica che l’argomento ContentsResizeParameters non sia nullo e che i valori percentuali sommino esattamente a 100.

AESCipher: Lunghezza Chiave Errata

AES richiede chiavi di esattamente 16, 24 o 32 byte (128, 192 o 256 bit). Passare una chiave di lunghezza errata genera un’eccezione dal provider crittografico Java sottostante.

Annotazione Non Visibile

Se un’annotazione è stata aggiunta ma non appare nel visualizzatore, controlla:

  1. Il rettangolo dell’annotazione è all’interno del MediaBox della pagina
  2. page.getAnnotations().add(annotation) è stato chiamato dopo aver configurato tutte le proprietà
  3. Il documento è stato salvato dopo aver aggiunto l’annotazione

Vedi anche

 Italiano