Comment travailler avec les façades PDF en Java
Annotations plates
Plongez toutes les notes dans le flux de contenu de la page afin qu’elles ne soient plus éditées ou supprimables en tant que objets d’annonce séparés.Cette est un pas commun avant l’impression ou l’archivage d’un document:
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("annotated.pdf");
editor.flattenAnnotations();
editor.save("flat.pdf");
}Supprimer les bookmarks
Supprimez toutes les notes de sortie d’un document. Les notes (également appelées des notes) sont les entrées à l’arbre de navigation visibles dans les pages du lecteur PDF:
try (PdfBookmarkEditor editor = new PdfBookmarkEditor()) {
editor.bindPdf("input.pdf");
editor.deleteBookmarks();
editor.save("no-bookmarks.pdf");
}Remplacer le texte
Remplacer une ligne sur toutes les pages d’un document.Cela est utile pour remplir des locataires de modèle avant la distribution d’un dossier:
try (PdfContentEditor editor = new PdfContentEditor()) {
editor.bindPdf("template.pdf");
editor.replaceText("{{Date}}", "2026-05-24");
editor.save("output.pdf");
}Encrypter un document
Application de la cryptage AES-256 avec des permissions d’accès en utilisant PdfFileSecurity.Le DocumentPrivilege.getForbidAll() pré-installation interdit toutes les opérations; permis individuels Il peut ensuite être réactivé avec des méthodes setter :
try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
DocumentPrivilege priv = DocumentPrivilege.getForbidAll();
priv.setAllowPrint(true);
security.encryptFile("user", "owner", priv, KeySize.x256);
}Extrait de texte
Iterate sur page texte en utilisant PdfExtractor.- appeler extractText() Tout d’abord pour le processus toutes les pages, puis récupérer le texte de chaque page avec getNextPageText():
try (PdfExtractor extractor = new PdfExtractor()) {
extractor.bindPdf("document.pdf");
extractor.extractText();
while (extractor.hasNextPageText()) {
String text = extractor.getNextPageText();
System.out.println(text);
}
}