Troubleshooting
Dokumentet misslyckas att stänga - Memory Leak
Document Implementation AutoCloseable.Använd alltid en try-with resurs block:
try (Document doc = new Document("input.pdf")) {
// operations
} // doc.close() called automaticallyOutOfMemoryError med stora filer
För stora dokument, möjliggör diskbuffering i PdfFileEditor:
PdfFileEditor editor = new PdfFileEditor();
editor.setUseDiskBuffer(true);
editor.concatenate(inputFiles, "output.pdf");PdfFileSecurity: Felaktigt lösenord
decryptFile(password) återvänder false om det angivna lösenordet är felaktigt. Kontrollera alltid returvärdet och hantera fallet av misslyckande:
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.");
}
}Föregående inlägg: Null Arguments
PdfFileEditor.resizeContents() tyst ignorerar noll argument snarare än kasta. Om utgångsdokumentet visas oförändrat efter resizeContents(),Kontrollera att den ContentsResizeParameters argumentet är inte noll och att procentvärdet summar Till exakt 100 .
AESCipher: Fel nyckel längd
AES kräver nycklar av exakt 16, 24, eller 32 byter (128, 192, eller 256 bit). Passera en nycka fel längd resultat i ett undantag från den underliggande Java krypto leverantören.
Anmälan inte synlig
Om en anteckning läggs till men inte visas i tittaren, kolla in:
- Annotationens rektangle ligger inom sidan av
MediaBox page.getAnnotations().add(annotation)kallas efter att ha konfigurerat alla egenskaper- Dokumentet räddades efter att anmälningen har läggts till.