Depanare

Document nu se poate închide scurgere de memorie

Document echipamente de lucru AutoCloseable.Întotdeauna folosiţi un bloc de încercare cu resurse:

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

OutOfMemoryError cu fișiere mari

Pentru documente mari, activați bufferea pe disc în PdfFileEditor:

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

PdfFileSecurity: Parola incorectă

decryptFile(password) rambursări false dacă parola furnizată este incorectă. Verificați întotdeauna valoarea returnată și gestionați cazul de eroare:

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: Argumente nul

PdfFileEditor.resizeContents() ignoră în tăcere argumentele nul, mai degrabă decât aruncarea. Dacă documentul de ieșire apare neschimbat după: resizeContents(), verifică dacă ContentsResizeParameters argumentul nu este nul și că valoarea procentală sumă exact la 100.

AESCipher: Lungime greșită a cheii

AES necesită cheie de exact 16, 24 sau 32 byte (128, 192 sau 256 biți). Trecerea unei chei cu lungime incorectă duce la o excepție din partea furnizorului Java cripto.

Anotare nevizibilă

Dacă se adaugă o anotație, dar nu apare în vizualizator, verificați:

  1. Rectangul de anotații este în pagină a MediaBox
  2. page.getAnnotations().add(annotation) a fost chemat după configurarea tuturor proprietăților
  3. Documentul a fost salvat după adăugarea anotației.

Vezi și:

 Română