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.

Vedi anche

 Italiano