Cum să lucrați cu fațade PDF în Java
Anotări plată
Flat all annotations into the page content stream, astfel încât să nu mai poată fi editate sau îndepărtate ca obiecte separate de anotare. Acesta este un pas comun înainte de imprimarea sau arhivarea unui document:
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("annotated.pdf");
editor.flattenAnnotations();
editor.save("flat.pdf");
}Îndepărtaţi bookmark-urile
Ștergeți toate bookmark-urile de contur dintr-un document. Bookmarks (numite și outlines) sunt intrările din arborele de navigare vizibile în barele laterale ale cititorului PDF:
try (PdfBookmarkEditor editor = new PdfBookmarkEditor()) {
editor.bindPdf("input.pdf");
editor.deleteBookmarks();
editor.save("no-bookmarks.pdf");
}Înlocuiți textul
Înlocuiți o șiră în toate paginile unui document. Acest lucru este util pentru completarea de spații din șabloane înainte de distribuirea unui dokument:
try (PdfContentEditor editor = new PdfContentEditor()) {
editor.bindPdf("template.pdf");
editor.replaceText("{{Date}}", "2026-05-24");
editor.save("output.pdf");
}Criptați un document
Aplicați criptarea AES-256 cu permisiuni de acces folosind PdfFileSecurity.- Ce ? DocumentPrivilege.getForbidAll() Preset dezactivează toate operațiunile; permisiuni individuale poate fi apoi reactivată cu metode de setare:
try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
DocumentPrivilege priv = DocumentPrivilege.getForbidAll();
priv.setAllowPrint(true);
security.encryptFile("user", "owner", priv, KeySize.x256);
}Text extractat
Iterarea textului de pagină folosind PdfExtractor.Sună-mă. extractText() Primul procesat toate paginile, apoi recuperați textul fiecărei pagini cu getNextPageText():
try (PdfExtractor extractor = new PdfExtractor()) {
extractor.bindPdf("document.pdf");
extractor.extractText();
while (extractor.hasNextPageText()) {
String text = extractor.getNextPageText();
System.out.println(text);
}
}