Kako raditi s PDF fasadama na Java-i?

Kako raditi s PDF fasadama na Java-i?

Plošci

Sve bilješke se smjeste u strim sadržaja stranice tako da više ne mogu biti uređivane ili uklonjene kao zasebni objekti za bilježbe. To je uobičajen korak prije štampanja ili arhiviranja dokumenta:

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

Ukloniti tragove za stranice

Izbrišite sve okvire za stranice iz dokumenta. Okviri (također poznati kao okviri) su navigativni stavci u stabljaku vidljivi na bočnim trama PDF čitača:

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

Zamjena teksta

Zamjena niza u svim stranicama dokumenta. To je korisno za ispunjavanje mjesta na šablonama prije distribucije dokumenta:

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

Kriptovanje dokumenta

Primjenite AES-256 šifriranje s pristupnim dozvolama koristeći PdfFileSecurity.-Ne, ne mogu. DocumentPrivilege.getForbidAll() Predajni nastavak onemogućuje sve operacije; pojedinačne dozvole U ovom slučaju, u skladu s člankom 13. stavkom 1. točkom (a) i podstavkom 7.:

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

Izvješće o tekstu

Iterirati tekst na stranici koristeći: PdfExtractor.Nazovi. extractText() prvi za obradu sve stranice, zatim preuzeti tekst svake stranica s getNextPageText():

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

Također pogledajte:

 Hrvatski