Solução de problemas
Documentos não podem ser fechados vazamento de memória
Document instrumentos de trabalho AutoCloseable.Use sempre um bloco de " tentar recursos “:
try (Document doc = new Document("input.pdf")) {
// operations
} // doc.close() called automaticallyOutOfMemoryError com arquivos grandes
Para documentos grandes, habilite o buffer de disco em: PdfFileEditor:
PdfFileEditor editor = new PdfFileEditor();
editor.setUseDiskBuffer(true);
editor.concatenate(inputFiles, "output.pdf");PdfFileSecurity: Senha incorreta
decryptFile(password) Renda de rendimentos false se a senha fornecida for incorreta. Verificar sempre o valor de retorno e tratar do caso de falha:
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: Argumentos nulos
PdfFileEditor.resizeContents() ignorar silenciosamente argumentos nulos em vez de jogar. Se o documento de saída não for alterado após a data da sua publicação, resizeContents(), verificar que o ContentsResizeParameters argumentos não é nula e que a soma de valores percentuais Exactamente 100.
AESCipher: Comprimento de chave errado
AES requer chaves de exatamente 16, 24 ou 32 bytes (128, 192, ou 256 bits). Passar uma chave com comprimento incorreto resulta em uma exceção do provedor cripto Java subjacente.
Anotativa não visível
Se uma anotação for adicionada, mas não aparecer no visualizador, verifique:
- O retângulo de anotação está dentro da página do
MediaBox page.getAnnotations().add(annotation)foi chamado depois de configurar todas as propriedades- O documento foi salvo depois de adicionar a anotação .