Come aggiungere annotazioni a un PDF

Come aggiungere annotazioni a un PDF

Aggiungi annotazioni di testo in un file PDF per riassumere il contenuto scritto nei documenti e annotare i punti critici e altri dettagli. Tuttavia, puoi aggiungere annotazioni di testo in qualsiasi punto del documento e, una volta creato, appare come un popup e come un’icona quando viene chiuso. In questo post del blog imparerai come aggiungere annotazioni a un file PDF utilizzando questa API Java per PDF. Inoltre, esaminerai i metodi che ti aiutano ad aggiungere annotazioni di testo in un file a livello di codice.

In questa guida verranno trattati i seguenti punti:

API Java per PDF - installazione

La procedura di installazione di questa libreria è a un passo. puoi scaricare l’API o installarla utilizzando le seguenti configurazioni Maven.

 <repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <classifier>jdk17</classifier>
</dependency>

Come aggiungere annotazioni a un PDF

Ora puoi sfruttare i metodi di questa libreria PDF per implementare l’aggiunta di annotazioni di testo a un file PDF in modo programmatico.

Segui lo snippet di codice e i passaggi indicati di seguito:

  1. Crea un’istanza della classe Document e carica il file PDF di origine.
  2. Ottieni una pagina per indice invocando il metodo getItem.
  3. Inizializza un oggetto della classe Rectangle che rappresenta un rettangolo.
  4. Crea una nuova annotazione di testo nella pagina specificata creando un oggetto della classe TextAnnotation.
  5. Il metodo setTitle imposta un testo che deve essere visualizzato nella barra del titolo dell’annotazione.
  6. Il metodo setSubject imposta il testo che rappresenta la descrizione dell’oggetto.
  7. Il metodo setContents imposta il testo dell’annotazione.
  8. Istanziare il costruttore dell’oggetto Border con l’oggetto textAnnotation.
  9. Imposta la larghezza del bordo e del modello di trattino chiamando i metodi setWidth e setDash.
  10. Richiamare il metodo add che aggiunge un’annotazione alla raccolta.
  11. Il metodo save salverà il file di annotazione.

Copia e incolla il seguente codice nel tuo file principale:

// Crea un'istanza della classe Document e carica il file PDF di origine.
Document document = new Document(  "table.pdf");
// Ottieni una pagina per indice invocando il metodo get_Item 
Page page = document.getPages().get_Item(1);
// Inizializza un oggetto della classe Rectangle che rappresenta il rettangolo.
Rectangle rect = new Rectangle(200, 750, 400, 790);
// Crea una nuova annotazione di testo nella pagina specificata creando un oggetto della classe TextAnnotation. 
TextAnnotation textAnnotation = new TextAnnotation(page, rect);
// Il metodo setTitle imposta un testo che deve essere visualizzato nella barra del titolo dell'annotazione. 
textAnnotation.setTitle("Aspose User");
// setSubject imposta il testo che rappresenta la descrizione dell'oggetto. 
textAnnotation.setSubject("Sample Subject");
// setContents imposta il testo dell'annotazione. 
textAnnotation.setContents("Sample contents for the annotation");
textAnnotation.setOpen(true);
textAnnotation.setIcon(TextIcon.Circle);
// Istanziare il costruttore per l'oggetto bordo con l'oggetto textAnnotation. 
Border border = new Border(textAnnotation);
// Impostare la larghezza del bordo e del modello di trattino chiamando il metodo setWidth e setDash.  
border.setWidth(5);
border.setDash(new Dash(1, 1));
textAnnotation.setBorder(border);
textAnnotation.setRect(rect);
// Richiama il metodo add che aggiunge annotazioni alla raccolta. 
page.getAnnotations().add(textAnnotation);
// il metodo save salverà il file di annotazione. 
document.save(  "sample_textannot.pdf");

Puoi vedere l’output nell’immagine qui sotto:

annotazione di testo

Leggi le annotazioni di testo

Allo stesso modo, possiamo leggere le annotazioni di testo da un file PDF esistente seguendo i passaggi indicati di seguito:

  1. Crea un’istanza della classe Document e carica il file PDF di origine.
  2. Chiama il metodo getItem per ottenere una pagina per indice.
  3. Filtra le annotazioni usando AnnotationSelector.
  4. Richiama il metodo accept per accettare che il visitatore elabori l’annotazione.
  5. Chiama il metodo getSelected per ottenere l’elenco degli oggetti Annotation selezionati.
  6. Stampa i risultati.

Copia e incolla il seguente codice nel tuo file principale:

// creare un'istanza della classe Document e caricare il file PDF di origine. 
Document document = new Document(  "sample_textannot.pdf");
// Chiama il metodo get_Item per ottenere una pagina in base all'indice invocando il file   
Page page = document.getPages().get_Item(1);
// Filtra le annotazioni usando AnnotationSelector 
AnnotationSelector annotationSelector = new AnnotationSelector(
        new TextAnnotation(page, Rectangle.getTrivial()));
// Richiamare il metodo di accettazione per accettare che il visitatore elabori l'annotazione. 
page.accept(annotationSelector);
//  Chiama il metodo getSelected per ottenere l'elenco degli oggetti Annotation selezionati. 
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// stampa i risultati
for (Annotation fa : TextAnnotations) {
    System.out.println(fa.getRect());
}

Elimina le annotazioni di testo

Inoltre, puoi seguire i passaggi e lo snippet di codice per eliminare le annotazioni di testo a livello di codice:

  1. Crea un oggetto della classe Document e carica il file PDF di origine.
  2. Filtra le annotazioni usando AnnotationSelector.
  3. Accetta il visitatore per elaborare l’annotazione chiamando il metodo accept.
  4. Chiama il metodo getSelected per ottenere l’elenco degli oggetti Annotation selezionati.
  5. Scorri tutte le annotazioni di testo ed elimina le annotazioni chiamando il metodo delete.
  6. Richiamare il metodo save per salvare il file.

Copia e incolla il seguente codice nel tuo file principale:

// Crea un oggetto della classe Document e carica il file PDF di origine. 
Document document = new Document(  "sample_textannot.pdf");
// Filtra le annotazioni usando AnnotationSelector 
Page page = document.getPages().get_Item(1);
AnnotationSelector annotationSelector = new AnnotationSelector(
        new TextAnnotation(page, Rectangle.getTrivial()));
// Accetta il visitatore per elaborare l'annotazione chiamando il metodo di accettazione 
page.accept(annotationSelector);
// Chiama il metodo getSelected per ottenere l'elenco degli oggetti Annotation selezionati. 
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// scorrere tutte le annotazioni di testo
for (Annotation fa : TextAnnotations) {
    // Elimina l'annotazione chiamando il metodo delete 
}
// Richiamare il metodo di salvataggio per salvare il file 
document.save ( "sample_textannot_del.pdf");

Ottieni una licenza gratuita

Puoi usufruire di una licenza temporanea gratuita per provare l’API senza limitazioni di valutazione.

Riassumendo

Questo ci porta alla fine di questo post sul blog. Hai spiegato come aggiungere annotazioni in un file PDF a livello di codice. Inoltre, hai anche imparato a leggere ed eliminare annotazioni di testo da documenti PDF esistenti utilizzando questa API Java per PDF. Inoltre, puoi visitare la documentazione per un’ulteriore esplorazione dei metodi API.

Inoltre, ti suggeriamo di seguire la nostra Guida introduttiva.

Infine, conholdate.com sta scrivendo nuovi post sul blog. Pertanto, si prega di rimanere in contatto per aggiornamenti regolari.

Fai una domanda

Puoi farci sapere le tue domande o richieste sul nostro forum.

Domande frequenti

Posso annotare un PDF gratuitamente?

Visita questo link per conoscere lo snippet di codice e i metodi API esposti da Java API per PDF.

Guarda anche