Troubleshooting

Troubleshooting

Dokumentet misslyckas att stänga - Memory Leak

Document Implementation AutoCloseable.Använd alltid en try-with resurs block:

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

OutOfMemoryError med stora filer

För stora dokument, möjliggör diskbuffering i PdfFileEditor:

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

PdfFileSecurity: Felaktigt lösenord

decryptFile(password) återvänder false om det angivna lösenordet är felaktigt. Kontrollera alltid returvärdet och hantera fallet av misslyckande:

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.");
    }
}

Föregående inlägg: Null Arguments

PdfFileEditor.resizeContents() tyst ignorerar noll argument snarare än kasta. Om utgångsdokumentet visas oförändrat efter resizeContents(),Kontrollera att den ContentsResizeParameters argumentet är inte noll och att procentvärdet summar Till exakt 100 .

AESCipher: Fel nyckel längd

AES kräver nycklar av exakt 16, 24, eller 32 byter (128, 192, eller 256 bit). Passera en nycka fel längd resultat i ett undantag från den underliggande Java krypto leverantören.

Anmälan inte synlig

Om en anteckning läggs till men inte visas i tittaren, kolla in:

  1. Annotationens rektangle ligger inom sidan av MediaBox
  2. page.getAnnotations().add(annotation) kallas efter att ha konfigurerat alla egenskaper
  3. Dokumentet räddades efter att anmälningen har läggts till.

Se även

 Svenska