Troubleshooting
Dokumen Gagal Ditutup — Kebocoran Memori
Document mengimplementasikan AutoCloseable. Selalu gunakan blok try-with-resources:
try (Document doc = new Document("input.pdf")) {
// operations
} // doc.close() called automaticallyOutOfMemoryError dengan File Besar
Untuk dokumen besar, aktifkan buffering disk di PdfFileEditor:
PdfFileEditor editor = new PdfFileEditor();
editor.setUseDiskBuffer(true);
editor.concatenate(inputFiles, "output.pdf");PdfFileSecurity: Kata Sandi Salah
decryptFile(password) mengembalikan false jika kata sandi yang diberikan salah. Selalu periksa nilai kembaliannya dan tangani kasus kegagalan:
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: Argumen Null
PdfFileEditor.resizeContents() secara diam-diam mengabaikan argumen null alih-alih melemparkan pengecualian. Jika dokumen output tampak tidak berubah setelah resizeContents(), pastikan bahwa argumen ContentsResizeParameters tidak null dan bahwa nilai persentase jumlahnya tepat 100.
AESCipher: Panjang Kunci Salah
AES memerlukan kunci dengan tepat 16, 24, atau 32 byte (128, 192, atau 256 bit). Mengirimkan kunci dengan panjang yang tidak tepat menghasilkan pengecualian dari penyedia kripto Java yang mendasari.
Anotasi Tidak Terlihat
Jika anotasi ditambahkan tetapi tidak muncul di penampil, periksa:
- Persegi panjang anotasi berada dalam
MediaBoxhalaman page.getAnnotations().add(annotation)dipanggil setelah mengonfigurasi semua properti- Dokumen disimpan setelah menambahkan anotasi