iText - Anotación circular

En este capítulo, veremos cómo agregar una anotación circular a un documento PDF usando la biblioteca iText.

Creación de una anotación circular en un PDF

Puede crear un documento PDF vacío creando una instancia del Documentclase. Al crear una instancia de esta clase, debe pasar unPdfDocument objeto como parámetro de su constructor.

Para usar la anotación de texto en su documento PDF, debe crear un objeto de la clase PdfTextAnnotation y agregarlo a la Pdfpage.

Los siguientes son los pasos para usar la anotación de texto en el documento PDF.

Paso 1: crear un objeto PdfWriter

los PdfWriterclass representa el DocWriter de un PDF. Esta clase pertenece al paquetecom.itextpdf.kernel.pdf. El constructor de esta clase acepta una cadena, que representa la ruta del archivo donde se creará el PDF.

Instancia del PdfWriter class pasando un valor de cadena (que representa la ruta donde necesita crear un PDF) a su constructor, como se muestra a continuación.

// Creating a PdfWriter 
String dest = "C:/itextExamples/circleAnnotation.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Cuando un objeto de este tipo se pasa a un PdfDocument (clase), todos los elementos agregados a este documento se escribirán en el archivo especificado.

Paso 2: crear un objeto PdfDocument

los PdfDocumentclass es la clase que representa el documento PDF en iText. Esta clase pertenece al paquetecom.itextpdf.kernel.pdf. Para crear una instancia de esta clase (en modo de escritura), debe pasar un objeto de la clasePdfWriter a su constructor.

Cree una instancia de la clase PdfDocument pasando el objeto PdfWriter a su constructor, como se muestra a continuación.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

Una vez que se crea un objeto PdfDocument, puede agregar varios elementos como página, fuente, archivo adjunto y controlador de eventos usando los métodos respectivos proporcionados por su clase.

Paso 3: crear el objeto de documento

los Document clase del paquete com.itextpdf.layoutes el elemento raíz al crear un PDF autosuficiente. Uno de los constructores de esta clase acepta un objeto de la clase PdfDocument.

Instancia del Document clase pasando el objeto de la clase PdfDocument creado en los pasos anteriores, como se muestra a continuación.

// Creating a Document  
Document document = new Document(pdfDoc);

Paso 4: Creación del objeto PdfAnnotation

los PdfAnnotation clase del paquete com.itextpdf.kernel.pdf.annot representa la superclase de todas las anotaciones.

Entre sus clases derivadas, PdfCircleAnnotationclase representa la anotación circular. Cree un objeto de esta clase como se muestra a continuación.

// Creating a PdfCircleAnnotation object Rectangle 
rect = new Rectangle(150, 770, 50, 50); 
PdfAnnotation annotation = new PdfCircleAnnotation(rect);

Paso 5: Establecer el color de la anotación

Establezca el color de la anotación con el setColor() método del PdfAnnotationclase. Para este método, pase el objeto de color que representa el color de la anotación como parámetro.

// Setting color to the annotation 
annotation.setColor(Color.YELLOW);

Paso 6: Establecer el título y el contenido de la anotación

Establezca el título y el contenido de la anotación utilizando el setTitle() y setContents() métodos del PdfAnnotation clase respectivamente.

// Setting title to the annotation 
annotation.setTitle(new PdfString("circle annotation"));        

// Setting contents of the annotation 
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));

Paso 7: agregar la anotación a una página

Crear un nuevo PdfPage clase usando el addNewPage() método del PdfDocument class y agregue la anotación creada anteriormente usando la addAnnotation() método de la clase PdfPage, como se muestra a continuación.

// Creating a new page 
PdfPage page = pdf.addNewPage();        

// Adding annotation to a page in a PDF 
page.addAnnotation(ann);

Paso 8: cerrar el documento

Cierre el documento con el close() método del Document clase, como se muestra a continuación.

// Closing the document 
document.close();

Ejemplo

El siguiente programa Java demuestra cómo agregar una anotación circular a un documento PDF utilizando la biblioteca iText. Crea un documento PDF con el nombrecircleAnnotation.pdf, le agrega una anotación circular y la guarda en la ruta C:/itextExamples/

Guarde este código en un archivo con el nombre PdfCircleAnnotation.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.PdfCircleAnnotation; 
import com.itextpdf.layout.Document;  

public class CircleAnnotation {    
   public static void main(String args[]) throws Exception {   
      // Creating a PdfDocument object       
      String file = "C:/itextExamples// circleAnnotation.pdf";             
      PdfDocument pdf = new PdfDocument(new PdfWriter(file));                   
   
      // Creating a Document object       
      Document doc = new Document(pdf);                      
   
      // Creating a PdfCircleAnnotation object       
      Rectangle rect = new Rectangle(150, 770, 50, 50);       
      PdfAnnotation annotation = new PdfCircleAnnotation(rect);              
   
      // Setting color to the annotation       
      annotation.setColor(Color.YELLOW);              
   
      // Setting title to the annotation       
      annotation.setTitle(new PdfString("circle annotation"));              
   
      // Setting contents of the annotation 
      annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));             
      
      // Creating a new page        
      PdfPage page = pdf.addNewPage();              
      
      // Adding annotation to a page in a PDF       
      page.addAnnotation(annotation);                       
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Annotation added successfully");       
   }   
}

Compile y ejecute el archivo Java guardado desde el símbolo del sistema utilizando los siguientes comandos:

javac PdfCircleAnnotation.java 
java PdfCircleAnnotation

Tras la ejecución, el programa anterior crea un documento PDF que muestra el siguiente mensaje.

Annotation added successfully

Si verifica la ruta especificada, puede encontrar el documento PDF creado, como se muestra a continuación.