Troubleshooting

Tài liệu không thể đóng cửa - Memory Leak

Document Thực hiện AutoCloseable.Luôn sử dụng một block try-with:

try (Document doc = new Document("input.pdf")) {
    // operations
} // doc.close() called automatically

OutOfMemoryError với file lớn

Đối với các tài liệu lớn, cho phép đĩa buffering trong PdfFileEditor:

PdfFileEditor editor = new PdfFileEditor();
editor.setUseDiskBuffer(true);
editor.concatenate(inputFiles, "output.pdf");

PdfFileSecurity: mật khẩu không chính xác

decryptFile(password) trở lại false Nếu mật khẩu đã cung cấp là sai. Luôn kiểm tra giá trị trả lại và xử lý trường hợp thất bại:

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: Không có lý do

PdfFileEditor.resizeContents() Nghe im lặng bỏ qua không có lý do thay vì ném. Nếu tài liệu xuất hiện không thay đổi sau khi resizeContents(),Kiểm tra rằng các ContentsResizeParameters argument không là null và rằng tỷ lệ phần trăm giá trị sum Đúng là 100.

AESCipher: Lâu thắt khóa sai

AES yêu cầu các khóa chính xác 16, 24, hoặc 32 byte (128, 192, hoặc 256 bit). Thay qua một khóa dài sai kết quả trong ngoại lệ từ nhà cung cấp mã hóa Java cơ bản.

Thông báo không thể nhìn thấy

Nếu một ghi chú được thêm vào nhưng không xuất hiện trong trình duyệt, hãy kiểm tra:

  1. Mục đích của việc ghi lại là bên trong trang MediaBox
  2. page.getAnnotations().add(annotation) được gọi sau khi cấu hình tất cả các tài sản
  3. Tài liệu được lưu sau khi thêm vào ghi chú

See Also

 Tiếng Việt