Πώς να εργαστείτε με PDF Facades στο Java
Σπάνια αναφορές
Στερεάστε όλες τις σημειώσεις στο ροή περιεχομένου της σελίδας, έτσι ώστε να μην είναι πλέον επεξεργαστές ή αφαιρούνται ως ξεχωριστά αντικείμενα σημειώσεων. Αυτό είναι ένα κοινό βήμα πριν από την εκτύπωση ή αρχειοθέτηση ενός εγγράφου:
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("annotated.pdf");
editor.flattenAnnotations();
editor.save("flat.pdf");
}Απομάκρυνση Bookmarks
Διαγράψτε όλα τα σημεία αναγνώρισης από ένα έγγραφο. Τα σημείες αναγνωρίσεων (επίσης γνωστά ως σημείωμα αναφοράς) είναι οι εισαγωγές δέντρων πλοήγησης που εμφανίζονται στα σελίδες του 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() Προετοιμασία: Απαγορεύεται η λειτουργία όλων των δραστηριοτήτων, ατομικές άδειες Μπορεί να επαναχρησιμοποιηθεί με τις μέθοδοι Setter:
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);
}
}