Hogyan dolgozzunk a PDF-facsádokkal Java-ban?

Hogyan dolgozzunk a PDF-facsádokkal Java-ban?

Személyes megjegyzések

Az összes megjegyzést a oldal tartalomáramlatba szétpillantja, így többé nem szerkeszthetőek vagy eltávolíthatók különálló megjegyzőobjektumként. Ez egy gyakori lépés a dokumentum kinyomtatása vagy archiválása előtt:

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

A könyvjelzőket eltávolítani

Törölje az összes körvonalas könyvjelzőt egy dokumentumból. A könyvjegyek (más néven: outlines) a PDF-olvasó oldalszorokban látható navigációs fába tartozó bejegyzések:

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

A szöveg helyettesítése

A dokumentum minden oldalán helyettesítsen egy szalagot. Ez hasznos a sablon helyfoglalók kitöltéséhez, mielőtt elosztanánk egy dokumentumot:

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

Titkosítson dokumentumot

A hozzáférési jogosultságok segítségével alkalmazza az AES-256 titkosítást PdfFileSecurity.A… a… DocumentPrivilege.getForbidAll() Előzetesen beállított minden műveletet letiltja; egyéni engedélyek a következők szerint:

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

Kivonat szöveg

Iterálás az oldal szövegén keresztül a következőkkel: PdfExtractor.Hívj fel. extractText() első feldolgozásra. minden oldal, majd visszanyeri az egyes oldalak szövegét a getNextPageText():

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

Lásd még:

 Magyar