Troubleshooting

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 automatically

OutOfMemoryError 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:

  1. Persegi panjang anotasi berada dalam MediaBox halaman
  2. page.getAnnotations().add(annotation) dipanggil setelah mengonfigurasi semua properti
  3. Dokumen disimpan setelah menambahkan anotasi

Lihat Juga

 Bahasa Indonesia