iText - Annotazione di testo
In questo capitolo vedremo come aggiungere annotazioni di testo a un documento PDF utilizzando la libreria iText.
Creazione di un'annotazione di testo in un PDF
È possibile creare un documento PDF vuoto istanziando il file Documentclasse. Durante la creazione di un'istanza di questa classe, è necessario superare un filePdfDocument oggetto come parametro del suo costruttore.
Per utilizzare l'annotazione di testo nel documento PDF, è necessario creare un oggetto di PdfTextAnnotation class e aggiungilo al file PdfPage.
Di seguito sono riportati i passaggi per utilizzare l'annotazione di testo nel documento PDF.
Passaggio 1: creazione di un oggetto PdfWriter
Il PdfWriterclass rappresenta il DocWriter per un PDF. Questa classe appartiene al pacchettocom.itextpdf.kernel.pdf. Il costruttore di questa classe accetta una stringa, che rappresenta il percorso del file in cui deve essere creato il PDF.
Istanziare la classe PdfWriter passando un valore stringa (che rappresenta il percorso in cui è necessario creare un PDF) al suo costruttore, come mostrato di seguito.
// Creating a PdfWriter
String dest = "C:/itextExamples/textAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
Quando un oggetto di questo tipo viene passato a un PdfDocument (classe), ogni elemento aggiunto a questo documento verrà scritto nel file specificato.
Passaggio 2: creazione di un oggetto PdfDocument
Il PdfDocumentclass è la classe che rappresenta il documento PDF in iText. Questa classe appartiene al pacchettocom.itextpdf.kernel.pdf. Per istanziare questa classe (in modalità di scrittura), è necessario passare un oggetto della classePdfWriter al suo costruttore.
Istanziare il file PdfDocument class passando il PdfWriter oggetto al suo costruttore, come mostrato di seguito.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Una volta creato un oggetto PdfDocument, è possibile aggiungere vari elementi come pagina, font, file allegati e gestore eventi utilizzando i rispettivi metodi forniti dalla sua classe.
Passaggio 3: creazione dell'oggetto Documento
Il Document classe del pacchetto com.itextpdf.layoutè l'elemento principale durante la creazione di un PDF autosufficiente. Uno dei costruttori di questa classe accetta un oggetto della classePdfDocument.
Istanziare il file Document class passando l'oggetto della classe PdfDocument creato nei passaggi precedenti, come mostrato di seguito.
// Creating a Document
Document document = new Document(pdfDoc);
Passaggio 4: creazione dell'oggetto PdfAnnotation
Il PdfAnnotation classe del pacchetto com.itextpdf.kernel.pdf.annot rappresenta la superclasse di tutte le annotazioni.
Tra le sue classi derivate, PdfTextAnnotationclass rappresenta l'annotazione di testo. Crea un oggetto di questa classe come mostrato di seguito.
// Creating PdfAnnotation
Rectangle rect = new Rectangle(20, 800, 0, 0);
PdfAnnotation ann = new PdfTextAnnotation(rect);
Passaggio 5: impostazione del colore dell'annotazione
Imposta il colore per l'annotazione usando il setColor() metodo del PdfAnnotationclasse. A questo metodo, passa il filecolor oggetto che rappresenta il colore dell'annotazione come parametro.
// Setting color to the annotation
ann.setColor(Color.GREEN);
Passaggio 6: impostazione del titolo e del contenuto dell'annotazione
Impostare il titolo e il contenuto dell'annotazione utilizzando il setTitle() e setContents() metodi di PdfAnnotation classe rispettivamente, come mostrato di seguito.
// Setting title to the annotation
ann.setTitle(new PdfString("Hello"));
// Setting contents of the annotation
ann.setContents("Hi welcome to Tutorialspoint.");
Passaggio 7: aggiunta dell'annotazione a una pagina
Creane uno nuovo PdfPage classe utilizzando il addNewPage() metodo della classe PdfDocument e aggiungi l'annotazione sopra usando il addAnnotation() metodo di PdfPage classe, come mostrato di seguito.
// Creating a new page PdfPage page =
pdf.addNewPage();
// Adding annotation to a page in a PDF
page.addAnnotation(ann);
Passaggio 8: chiusura del documento
Chiudere il documento utilizzando il file close() metodo del Document classe, come mostrato di seguito.
// Closing the document
document.close();
Esempio
Il seguente programma Java dimostra come aggiungere annotazioni di testo a un documento PDF utilizzando la libreria iText. Crea un documento PDF con il nometextAnnotation.pdf, vi aggiunge un'annotazione di testo e la salva nel percorso C:/itextExamples/
Salva questo codice in un file con il nome TextAnnotation.java.
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfString;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.annot.PdfAnnotation;
import com.itextpdf.kernel.pdf.annot.PdfTextAnnotation;
import com.itextpdf.layout.Document;
public class TextAnnotation {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/textAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdf);
// Creating PdfTextAnnotation object
Rectangle rect = new Rectangle(20, 800, 0, 0);
PdfAnnotation ann = new PdfTextAnnotation(rect);
// Setting color to the annotation
ann.setColor(Color.GREEN);
// Setting title to the annotation
ann.setTitle(new PdfString("Hello"));
// Setting contents of the annotation
ann.setContents("Hi welcome to Tutorialspoint.");
// Creating a new page
PdfPage page = pdf.addNewPage();
// Adding annotation to a page in a PDF
page.addAnnotation(ann);
// Closing the document
document.close();
System.out.println("Annotation added successfully");
}
}
Compilare ed eseguire il file Java salvato dal prompt dei comandi utilizzando i seguenti comandi.
javac TextAnnotation.java
java TextAnnotation
Al momento dell'esecuzione, il programma di cui sopra crea un documento PDF che mostra il seguente messaggio.
Annotation added successfully
Se verifichi il percorso specificato, puoi trovare il documento PDF creato, come mostrato di seguito.