Resolución de problemas
El documento no se cierra - Memory Leak
Document implantaciones AutoCloseable.Siempre use un bloque de recursos try-with:
try (Document doc = new Document("input.pdf")) {
// operations
} // doc.close() called automaticallyOutOfMemoryError con archivos grandes
Para los grandes documentos, permite la buferación de discos en el PdfFileEditor:
PdfFileEditor editor = new PdfFileEditor();
editor.setUseDiskBuffer(true);
editor.concatenate(inputFiles, "output.pdf");PdfFileSecurity: contraseña incorrecta
decryptFile(password) Retorno false Si la contraseña que se proporciona es incorrecta. Siempre comproba el valor de retorno y gestiona el caso de fracaso:
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: No Argumentos
PdfFileEditor.resizeContents() ignora silenciosamente los argumentos cero en lugar de lanzar. Si el documento de salida aparece sin cambios después de resizeContents(),Verificar que el ContentsResizeParameters El argumento no es nulo y que el porcentaje de valores suman A los exactos 100.
AESCipher: la longitud de la clave equivocada
AES requiere de las claves de exactamente 16, 24, o 32 bytes (128, 192, o 256 bits). pasar una clave de longitud incorrecta resultados en una excepción del proveedor de criptografía Java subyacente.
Anunciación no visible
Si se añade una anotación pero no aparece en el espectador, verá:
- El anotamiento está en el rectángulo de la página
MediaBox page.getAnnotations().add(annotation)Se ha llamado después de configurar todas las propiedades- El documento fue guardado después de añadir la anotación.