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 automaticallyOutOfMemoryError 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:
- Mục đích của việc ghi lại là bên trong trang
MediaBox page.getAnnotations().add(annotation)được gọi sau khi cấu hình tất cả các tài sản- Tài liệu được lưu sau khi thêm vào ghi chú