Solução de problemas

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 automatically

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

  1. O retângulo de anotação está dentro da página do MediaBox
  2. page.getAnnotations().add(annotation) foi chamado depois de configurar todas as propriedades
  3. O documento foi salvo depois de adicionar a anotação .

Ver também:

 Português