C’è stato un tempo in cui discutevamo del contenuto del documento e del feedback in lunghi thread di posta elettronica con più allegati e versioni di file diverse. Ora possiamo semplicemente utilizzare le annotazioni per contrassegnare il documento con messaggi e risposte e inviarlo. In questo articolo imparerai come annotare a livello di codice documenti PDF in Java con la tua applicazione. Inoltre, vedremo come rimuovere le annotazioni dai file PDF utilizzando la stessa API Java.

Di seguito gli argomenti brevemente discussi:

Annotatore PDF API Java

Per gestire le annotazioni del documento e delle immagini all’interno delle applicazioni Java, GroupDocs fornisce GroupDocs.Annotation for Java. Utilizzando l’API, puoi aggiungere, rimuovere ed estrarre annotazioni da documenti di elaborazione testi, fogli di calcolo, presentazioni, immagini, messaggi e-mail, Visio * disegni*, alcuni AutoCAD e formati di imaging digitale come DICOM. Inoltre, l’API consente di annotare i file PDF. Puoi dare un’occhiata alla documentazione per conoscere il lungo elenco di formati di documento supportati per l’annotazione.

Scarica e configura

Ottieni la libreria di annotazioni dai download o aggiungi semplicemente la seguente configurazione pom.xml nelle tue applicazioni Java basate su Maven per provare gli esempi di questo articolo e molti altri esempi disponibili su GitHub. Per i dettagli, puoi visitare il Riferimento API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-annotation</artifactId>
        <version>20.2</version> 
</dependency>

Aggiungi annotazioni al PDF in Java

Passiamo rapidamente all’aggiunta di alcuni dei diversi tipi di annotazioni al documento PDF. Poiché esistono molti tipi diversi di annotazioni, potremmo non trattarle tutte in questo articolo. Li menzionerò e potrai apprendere ogni annotazione individualmente.

  • Annotazione area / rettangolo

  • Freccia

  • Distanza

  • Ellisse

  • Evidenziare

  • Collegamento

  • Punto

  • Polilinea

  • Sostituzione

  • Redazione delle risorse

  • Barrato

  • Campo di testo

  • Redazione del testo

  • Sottolineato

  • Filigrana

Iniziamo ad aggiungere alcuni di questi in un documento PDF.

Aggiungi annotazione freccia al PDF utilizzando Java

Di seguito sono riportati i passaggi per aggiungere l’annotazione della freccia a un documento PDF.

Annotazione della freccia
  • Carica il documento PDF utilizzando la classe Annotator.
  • Inizializza l’annotazione della freccia usando la classe ArrowAnnotation.
  • Imposta la posizione e la dimensione della freccia usando il metodo setBox di ArrowAnnotation.
  • Aggiungi l’annotazione della freccia creata all’oggetto Annotator.
  • Salva il PDF annotato fornendo il percorso utilizzando il metodo save.

L’esempio di codice seguente mostra come aggiungere l’annotazione della freccia a un documento PDF utilizzando Java.

// Aggiungi l'annotazione della freccia al PDF utilizzando Java
final Annotator annotator = new Annotator("document.pdf");
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(100, 100, 100, 100)); // (x, y, width, height)
annotator.add(arrow);
annotator.save("path/annotated-with-arrow.pdf");

Inserisci annotazione rettangolo o area in PDF utilizzando Java

Puoi personalizzare qualsiasi annotazione aggiungendola al documento. Di seguito sono riportati i passaggi per aggiungere annotazioni rettangolari o ad area a un documento PDF con piccole personalizzazioni in più. È simile all’aggiunta dell’annotazione Arrow ma utilizza la classe AreaAnnotation al posto di ArrowAnnotation.

  • Carica il documento PDF utilizzando la classe Annotator.
  • Inizializza l’annotazione del rettangolo usando la classe AreaAnnotation.
  • Imposta la posizione e la dimensione del rettangolo usando il metodo setBox di AreaAnnotation.
  • Imposta altre proprietà come colore, sfondo, opacità, stile, larghezza penna o anche messaggi e ora .
  • Aggiungi l’annotazione rettangolo creata all’oggetto Annotator.
  • Salva il PDF annotato fornendo il percorso utilizzando il metodo save.
Annotazione rettangolo o area

L’esempio di codice seguente mostra come aggiungere annotazioni rettangolo/area a un documento PDF utilizzando Java.

// Aggiungi annotazione area o annotazione rettangolo al PDF utilizzando Java
final Annotator annotator = new Annotator("document.pdf");
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
// aggiungi al documento
annotator.add(area);
annotator.save("path/annotated-with-rectangle.pdf");

Aggiungi annotazioni ovali o ellittiche al PDF utilizzando Java

Di seguito sono riportati i passaggi per aggiungere annotazioni ovali o ellissi a un documento PDF.

Ellissi o annotazione ovale
  • Carica il documento PDF utilizzando la classe Annotator.
  • Inizializza l’annotazione dell’ellisse usando la classe EllipseAnnotation.
  • Imposta la posizione e la dimensione dell’ellisse usando il metodo setBox di EllipseAnnotation.
  • Aggiungi l’annotazione dell’ellisse creata all’oggetto Annotator.
  • Salva il PDF annotato fornendo il percorso utilizzando il metodo save.

L’esempio di codice seguente mostra come aggiungere annotazioni ovali o ellittiche a un documento PDF utilizzando Java.

// Aggiungi annotazioni ovali o ellittiche in PDF utilizzando Java
final Annotator annotator = new Annotator("document.pdf");
// Annotazione ovale o ellisse
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
// aggiungi al documento
annotator.add(area);
annotator.save("path/annotated-with-ellipse.pdf");

Inserisci l’annotazione della distanza in PDF utilizzando Java

Annotazione della distanza

Puoi anche aggiungere l’annotazione della distanza per mostrare la distanza tra due punti. Di seguito sono riportati i passaggi per aggiungere l’annotazione della distanza al documento PDF.

  • Carica il documento PDF utilizzando la classe Annotator.
  • Inizializza l’annotazione della distanza usando la classe DistanceAnnotation.
  • Imposta la dimensione e la posizione dell’annotazione usando il metodo setBox di DistanceAnnotation.
  • Aggiungi l’annotazione della distanza creata all’oggetto Annotatore.
  • Salva il PDF annotato fornendo il percorso utilizzando il metodo salva.

L’esempio di codice seguente mostra come aggiungere un’annotazione della distanza a un documento PDF utilizzando Java.

// Annotazione della distanza tramite Java
final Annotator annotator = new Annotator("document.pdf");
// Annotazione della distanza
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
// aggiungi al documento
annotator.add(area);
annotator.save("path/annotated-with-distance.pdf");

Codice completo

Per riassumere, ecco il codice Java con l’output che mostra tutte le annotazioni e i messaggi aggiunti con risposte utilizzando il codice Java menzionato.

Aggiunte annotazioni al PDF

Il codice seguente aggiunge frecce, rettangoli, ellissi, annotazioni di distanza, messaggi e risposte a un file PDF.

// Aggiungi più annotazioni al PDF utilizzando Java
// Aggiunta di annotazioni a freccia, area, ovale (ellisse), distanza al PDF con messaggi e risposte utilizzando Java
final Annotator annotator = new Annotator(Constants.INPUT);
// Impostazione delle risposte
Reply reply1 = new Reply();
reply1.setComment("Please look in to these issues.");
reply1.setRepliedOn(Calendar.getInstance().getTime());

Reply reply2 = new Reply();
reply2.setComment("Change Description");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply3 = new Reply();
reply2.setComment("On-Premises APIs");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply4 = new Reply();
reply2.setComment("Add images as well.");
reply2.setRepliedOn(Calendar.getInstance().getTime());

java.util.List<Reply> replies = new ArrayList<Reply>();
replies.add(reply1);
replies.add(reply2);
replies.add(reply3);
replies.add(reply4);
// Annotazione freccia ================================================
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(560, 250, 60, -60));
arrow.setCreatedOn(Calendar.getInstance().getTime());
arrow.setMessage("This image is little upwards.");
arrow.setOpacity(0.7);
arrow.setPenColor(-3407872);
arrow.setPenWidth((byte) 2);
arrow.setReplies(replies.subList(0, 1));
// Annotazione area ====================================================
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
area.setReplies(replies.subList(1, 2));
// Annotazione ovale o ellisse ==========================
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
ellipse.setCreatedOn(Calendar.getInstance().getTime());
ellipse.setMessage("Shows all the available Annotation APIs.");
ellipse.setOpacity(0.7);
ellipse.setPenColor(-16034924);
ellipse.setPenStyle(PenStyle.Dot);
ellipse.setPenWidth((byte) 3);
ellipse.setReplies(replies.subList(2, 3));
// Annotazione distanza ====================================================
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
distance.setCreatedOn(Calendar.getInstance().getTime());
distance.setMessage("This is the heading area");
distance.setOpacity(0.7);
distance.setPenColor(-21197);
distance.setPenStyle(PenStyle.Solid);
distance.setPenWidth((byte) 1);
distance.setReplies(replies.subList(3, 4));
// Aggiunta di annotazioni ==================================================
annotator.add(arrow);
annotator.add(area);
annotator.add(ellipse);
annotator.add(distance);
// Salvataggio PDF annotato ===============================================
annotator.save(outputPath);
annotator.dispose();

Rimuovere le annotazioni dal PDF in Java

I passaggi seguenti mostrano come rimuovere tutte le annotazioni dai file PDF in Java.

  • Carica il documento PDF utilizzando la classe Annotator.
  • Inizializza il salvataggio delle opzioni usando la classe SaveOptions.
  • Imposta i tipi di annotazione su Nessuno.
  • Salva il file PDF con tutte le annotazioni rimosse, fornendo il percorso utilizzando il metodo save.

Il seguente codice Java rimuove le annotazioni da un file PDF.

// Rimuovere tutte le annotazioni dal documento PDF utilizzando Java
final Annotator annotator = new Annotator("document.pdf");
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAnnotationTypes(AnnotationType.None);
// Salva il PDF senza più annotazioni.
annotator.save("path/annotations-removed.pdf", saveOptions);
annotator.dispose();

Conclusione

In breve, hai imparato come aggiungere annotazioni a PDF all’interno di applicazioni Java. Inoltre, hai visto come rimuovere tutte le annotazioni da qualsiasi file PDF. Ora dovresti essere sicuro di creare la tua applicazione Java per annotatore di documenti. Può supportare diversi tipi di annotazioni utilizzando GroupDocs.Annotation for Java.

Per maggiori dettagli, opzioni ed esempi, puoi visitare il repository documentation e GitHub. Per ulteriori domande, contatta il supporto sul forum.

Guarda anche