Как да работите с PDF фасадите в Java

Как да работите с PDF фасадите в Java

Плоски бележки

Нагласяване на всички бележки в потока от съдържание, така че те вече да не могат да се редактират или премахват като отделни обекти за бележки. Това е обикновена стъпка преди печатане или архивиране на документ:

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("annotated.pdf");
    editor.flattenAnnotations();
    editor.save("flat.pdf");
}

Изтриване на отметки

Изтриване на всички очертания от документ. Очертата (наричани също и офорти) са вписванията за навигационното дърво, видими в страничните ленти на PDF читателя:

try (PdfBookmarkEditor editor = new PdfBookmarkEditor()) {
    editor.bindPdf("input.pdf");
    editor.deleteBookmarks();
    editor.save("no-bookmarks.pdf");
}

Заменяване на текст

Заменете нишка във всички страници на документа. Това е полезно за попълване на резервни места в шаблоните преди разпространение на документ:

try (PdfContentEditor editor = new PdfContentEditor()) {
    editor.bindPdf("template.pdf");
    editor.replaceText("{{Date}}", "2026-05-24");
    editor.save("output.pdf");
}

Шифриране на документ

Прилагане на AES-256 криптиране с разрешения за достъп, използвайки PdfFileSecurity.- Да, това е. DocumentPrivilege.getForbidAll() Предварително зададени изключва всички операции; индивидуални разрешения може да бъде повторно активирано с помощта на методи за определяне:

try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
    DocumentPrivilege priv = DocumentPrivilege.getForbidAll();
    priv.setAllowPrint(true);
    security.encryptFile("user", "owner", priv, KeySize.x256);
}

Извлечен текст

Итерация над текста на страницата с помощта на: PdfExtractor.Обади се. extractText() Първият да обработи всички страници, след това изтегляне на всеки текст страница с getNextPageText():

try (PdfExtractor extractor = new PdfExtractor()) {
    extractor.bindPdf("document.pdf");
    extractor.extractText();
    while (extractor.hasNextPageText()) {
        String text = extractor.getNextPageText();
        System.out.println(text);
    }
}

Вижте също:

 Български