iText - Annotazione collegamento

In questo capitolo vedremo come aggiungere l'annotazione del collegamento a un documento PDF utilizzando la libreria iText.

Creazione di un'annotazione di collegamento 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 della classe PdfTextAnnotation e aggiungerlo a PdfPage.

Di seguito sono riportati i passaggi per utilizzare l'annotazione di testo in un 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 il file PdfWriter class 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/linkAnnotation.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.

Creare un'istanza della classe PdfDocument 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 creata 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, PdfLinkAnnotationclass rappresenta l'annotazione del collegamento. Crea un oggetto di questa classe, come mostrato di seguito.

// Creating a PdfLinkAnnotation object 
Rectangle rect = new Rectangle(0, 0); 
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);

Passaggio 5: impostazione dell'azione dell'annotazione

Imposta l'azione sull'annotazione utilizzando il setAction() metodo del PdfLinkAnnotation classe, come mostrato di seguito.

// Setting action of the annotation 
PdfAction action = PdfAction.createURI("http: // www.tutorialspoint.com/"); 
annotation.setAction(action);

Passaggio 6: creazione di un collegamento

Crea un collegamento istanziando il file Link classe del pacchetto com.itextpdf.layout.element, come mostrato di seguito.

// Creating a link 
Link link = new Link("Click here", annotation);

Passaggio 7: aggiunta dell'annotazione del collegamento a un paragrafo

Crea un nuovo paragrafo istanziando il file Paragraph class e aggiungere il collegamento creato nel passaggio precedente utilizzando il add() metodo di questa classe, come mostrato di seguito.

// Creating a paragraph 
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");        

// Adding link to paragraph 
paragraph.add(link.setUnderline());

Passaggio 8: aggiunta di un paragrafo al documento

Aggiungi il paragrafo al documento usando il add() metodo del Document classe, come mostrato di seguito.

// Adding paragraph to document 
document.add(paragraph);

Passaggio 9: 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 l'annotazione del collegamento a un documento PDF utilizzando la libreria iText.

Crea un documento PDF con il nome linkAnnotation.pdf, aggiunge un'annotazione di collegamento ad esso e la salva nel percorso C:/itextExamples/

Salva questo codice in un file con il nome LinkAnnotation.java.

import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.action.PdfAction; 
import com.itextpdf.kernel.pdf.annot.PdfLinkAnnotation; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Link; 
import com.itextpdf.layout.element.Paragraph;  

public class LinkAnnotation {      
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/linkAnnotation.pdf";       
      
      PdfWriter writer = new 
      PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);               
      
      // Creating a Document
      Document document = new Document(pdf);              
      
      // Creating a PdfLinkAnnotation object       
      Rectangle rect = new Rectangle(0, 0);       
      PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);              
      
      // Setting action of the annotation       
      PdfAction action = PdfAction.createURI("http:// www.tutorialspoint.com/");       
      annotation.setAction(action);             
      
      // Creating a link       
      Link link = new Link("Click here", annotation);              
      
      // Creating a paragraph       
      Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");              
      
      // Adding link to paragraph       
      paragraph.add(link.setUnderline());              
      
      // Adding paragraph to document       
      document.add(paragraph);             

      // 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 LinkAnnotation.java 
java LinkAnnotation

Al momento dell'esecuzione, il programma precedente 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.