Troubleshooting
Document kan niet sluiten — geheugenlek
Document implementeert AutoCloseable. Gebruik altijd een try-with-resources-blok:
try (Document doc = new Document("input.pdf")) {
// operations
} // doc.close() called automaticallyOutOfMemoryError met grote bestanden
Voor grote documenten schakelt u schijfbuffering in PdfFileEditor in:
PdfFileEditor editor = new PdfFileEditor();
editor.setUseDiskBuffer(true);
editor.concatenate(inputFiles, "output.pdf");PdfFileSecurity: Onjuist wachtwoord
decryptFile(password) retourneert false als het opgegeven wachtwoord onjuist is. Controleer altijd de retourwaarde en behandel het foutscenario:
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-argumenten
PdfFileEditor.resizeContents() negeert stilzwijgend null-argumenten in plaats van een uitzondering te gooien. Als het uitvoerdocument ongewijzigd lijkt na resizeContents(), controleer dan of het ContentsResizeParameters-argument niet null is en of de procentwaarden precies 100 optellen.
AESCipher: Verkeerde Sleutellengte
AES vereist sleutels van exact 16, 24 of 32 bytes (128, 192 of 256 bits). Het doorgeven van een sleutel met een onjuiste lengte resulteert in een exceptie van de onderliggende Java crypto-provider.
Annotatie Niet Zichtbaar
Als een annotatie is toegevoegd maar niet verschijnt in de viewer, controleer dan:
- Het annotatierectangle bevindt zich binnen de
MediaBoxvan de pagina page.getAnnotations().add(annotation)werd aangeroepen na het configureren van alle eigenschappen- Het document is opgeslagen na het toevoegen van de annotatie