iText: creación de un documento PDF

Ahora entendamos cómo crear un documento PDF usando la biblioteca iText.

Crear un documento PDF vacío

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.

Los siguientes son los pasos para crear un documento PDF vacío.

Paso 1: crear un objeto PdfWriter

los PdfWriterclass representa el Doc Writer para 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.

Cree una instancia de la clase PdfWriter 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/sample.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 creado anteriormente 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: agregar una página vacía

los addNewPage() método del PdfDocument La clase se utiliza para crear una página vacía en el documento PDF.

Agregue una página vacía al documento PDF creado en el paso anterior como se muestra a continuación.

// Adding an empty page 
pdfDoc.addNewPage();

Paso 4: crear un 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 5: 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

A continuación se muestra el programa Java que demuestra la creación de un documento PDF. Crea un documento PDF con el nombresample.pdf, le agrega una página vacía y la guarda en la ruta C:/itextExamples/

Guarde este código en un archivo con el nombre create_PDF.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.layout.Document;  

public class create_PDF {    
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/sample.pdf";       
      PdfWriter writer = new PdfWriter(dest); 
   
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
   
      // Adding a new page 
      pdfDoc.addNewPage();               
   
      // Creating a Document        
      Document document = new Document(pdfDoc);               
   
      // Closing the document    
      document.close();              
      System.out.println("PDF Created");    
   } 
}

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

javac create_PDF.java 
java create_PDF

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

PDF created

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

Dado que este es un documento vacío, si intenta abrir este documento, mostrará un mensaje de error, como se muestra en la siguiente captura de pantalla.