Facciate PDF
Questa guida mostra come utilizzare le classi facade orientate al compito nel pacchetto org.aspose.pdf.facades. Ogni facade segue lo stesso ciclo di vita: bindPdf() → operazioni → save(). Imparerai a appiattire le annotazioni, gestire i segnalibri, sostituire il testo, crittografare i documenti, estrarre il testo e aggiungere numeri di pagina.
Pattern Facade
Tutte le classi facade in org.aspose.pdf.facades seguono lo stesso ciclo di vita: bindPdf() → operazioni → save(). Accettano percorsi di file, stream o oggetti Document.
PdfAnnotationEditor
Appiattire, eliminare o contare le annotazioni in tutto il documento. flattenAnnotations() unisce tutte le annotazioni nel flusso di contenuto della pagina, rendendole permanenti e non modificabili:
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("input.pdf");
editor.flattenAnnotations();
editor.save("output.pdf");
}deleteAnnotations(annotationType) rimuove un tipo specifico di annotazione per nome.
PdfBookmarkEditor
Crea ed elimina voci di contorno PDF (segnalibri). deleteBookmarks() rimuove tutte le voci di contorno dal documento collegato prima del salvataggio:
try (PdfBookmarkEditor editor = new PdfBookmarkEditor()) {
editor.bindPdf("input.pdf");
editor.deleteBookmarks();
editor.save("output.pdf");
}PdfContentEditor
Sostituisci il testo nei flussi di contenuto PDF su tutto il documento o su una pagina specifica. replaceText(searchString, replacement) trova e sostituisce tutte le stringhe di testo corrispondenti:
try (PdfContentEditor editor = new PdfContentEditor()) {
editor.bindPdf("template.pdf");
editor.replaceText("{{Name}}", "John Smith");
editor.save("output.pdf");
}PdfFileSecurity
Cifra un documento con AES-256 e imposta i permessi di accesso tramite DocumentPrivilege. encryptFile(userPass, ownerPass, privilege, keySize) applica la cifratura e scrive il risultato nel file di output configurato:
try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "out.pdf")) {
DocumentPrivilege priv = DocumentPrivilege.getForbidAll();
priv.setAllowPrint(true);
security.encryptFile("user", "owner", priv, KeySize.x256);
}PdfExtractor
Estrai il testo pagina per pagina da un documento PDF. Dopo aver chiamato extractText(), usa hasNextPageText() e getNextPageText() per iterare il contenuto estratto di ogni pagina:
try (PdfExtractor extractor = new PdfExtractor()) {
extractor.bindPdf("document.pdf");
extractor.extractText();
while (extractor.hasNextPageText()) {
String text = extractor.getNextPageText();
System.out.println(text);
}
}PdfFileStamp
Aggiungi timbri di numerazione di pagina alle pagine PDF usando addPageNumber(FormattedText). Passa un’istanza FormattedText contenente l’etichetta del numero di pagina:
try (PdfFileStamp stamp = new PdfFileStamp("in.pdf", "out.pdf")) {
stamp.addPageNumber(new FormattedText("Page #"));
stamp.close();
}Usa addHeader(FormattedText, float) o addFooter(FormattedText, float) per aggiungere testo ricorrente a una distanza specificata dal margine superiore o inferiore di ogni pagina.