Troubleshooting

Документ не закрився Утечка пам’яті

Document приладні пристрої AutoCloseable.Завжди використовуйте блок “пробуй з ресурсами”:

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

Помилка OutOfMemory з великими файлами

Для великих документів включте буфер на диске в PdfFileEditor:

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

PdfFileSecurity: Неправильний пароль

decryptFile(password) повернення false якщо введене пароль невірний. Завжди перевіряйте значення повернення і вирішуйте випадки збою:

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: Нулле аргументи

PdfFileEditor.resizeContents() мовчки ігнорує нульові аргументи, а не кидає. Якщо вихідний документ не змінився після: resizeContents(), перевіряти, що ContentsResizeParameters аргумент не нуль і що сума відсотків цінностей до точності 100.

AESCipher: неправильна довжина ключа

AES вимагає ключів точно 16, 24 або 32 байтів (128, 192 або 256 біт). Проходження ключа неправильної довжини призводить до винятку від базового криптопровайдера Java.

Аннотація не відима

Якщо додана аннотація, але вона не з’являється в перегляднику, перевіріть:

  1. Аннотаційний прямокутник знаходиться в межах сторінки. MediaBox
  2. page.getAnnotations().add(annotation) був викликаний після налаштування всіх властивостей
  3. Документ зберегли після додавання анотації.

See Also

 Українська