Come lavorare con le annotazioni in Java

Come lavorare con le annotazioni in Java

Questa guida mostra come creare, contare, rimuovere e appiattire le annotazioni PDF usando Aspose.PDF FOSS per Java. Imparerai ad aggiungere annotazioni widget, testo libero e evidenziazione, e a usare PdfAnnotationEditor per operazioni in blocco.

Aggiungi un’annotazione widget

WidgetAnnotation rappresenta un widget di controllo del modulo. Imposta il colore del bordo e la didascalia tramite AppearanceCharacteristics. Dopo aver configurato l’annotazione, aggiungila alla collezione di annotazioni della pagina e salva il documento:

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(50, 50, 150, 80));
    w.getCharacteristics().setBorder(Color.fromRgb(0, 0, 1));
    w.getCharacteristics().setCaption("Submit");
    page.getAnnotations().add(w);
    doc.save("widget.pdf");
}

Aggiungi un’annotazione di testo libero

Un FreeTextAnnotation visualizza un commento testuale in una posizione specifica della pagina. L’aspetto predefinito definisce il carattere, la dimensione e il colore del testo dell’annotazione:

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    DefaultAppearance da = new DefaultAppearance("Helv", 12, Color.BLACK);
    FreeTextAnnotation fta = new FreeTextAnnotation(page,
        new Rectangle(100, 300, 350, 350), da);
    fta.setContents("Review this section carefully.");
    page.getAnnotations().add(fta);
    doc.save("freetext.pdf");
}

Aggiungi un’annotazione di evidenziazione

HighlightAnnotation segna visivamente una regione di testo sulla pagina. Posizionala usando un Rectangle che copre il testo da evidenziare, quindi aggiungila alla collezione di annotazioni:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    HighlightAnnotation h = new HighlightAnnotation(page,
        new Rectangle(100, 200, 400, 220));
    page.getAnnotations().add(h);
    doc.save("highlighted.pdf");
}

Conteggia le annotazioni su una pagina

Accedi direttamente alla collezione di annotazioni della pagina per contare o iterare le annotazioni:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    int count = page.getAnnotations().size();
    System.out.println("Annotations on page 1: " + count);
}

Rimuovi le annotazioni per tipo

Usa PdfAnnotationEditor per rimuovere tutte le annotazioni di un tipo specifico da un documento. Chiama deleteAnnotations(type) con il nome del tipo di annotazione, quindi salva:

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("input.pdf");
    editor.deleteAnnotations("Highlight");
    editor.save("output.pdf");
}

Appiattisci le annotazioni

L’appiattimento delle annotazioni le fonde permanentemente nel contenuto della pagina, così non sono più modificabili o rimovibili come oggetti separati:

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("annotated.pdf");
    editor.flattenAnnotations();
    editor.save("flat.pdf");
}

Vedi anche

 Italiano