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 automaticallyOutOfMemoryError 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:
- Rectangul de anotații este în pagină a
MediaBox page.getAnnotations().add(annotation)a fost chemat după configurarea tuturor proprietăților- Documentul a fost salvat după adăugarea anotației.