iText - Agregar una tabla
En este capítulo, veremos cómo crear un documento PDF y agregarle una tabla usando la biblioteca iText.
Agregar una tabla a un PDF
Puede crear un documento PDF vacío creando una instancia del Documentclase. Al crear una instancia de esta clase, debe pasar unPdfDocumentobjeto como parámetro de su constructor. Luego, para agregar una tabla al documento, debe crear una instancia delTable class y agregue este objeto al documento usando el add() método.
A continuación se muestran los pasos para crear un documento PDF con una tabla.
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/addingTable.pdf";
PdfWriter writer = new PdfWriter(dest);
Cuando el 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: 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: crear un objeto de tabla
los Tableclass representa una cuadrícula bidimensional llena de celdas ordenadas en filas y columnas. Pertenece al paquetecom.itextpdf.layout.element.
Instancia del Table clase como se muestra a continuación.
// Creating a table object
float [] pointColumnWidths = {150F, 150F, 150F};
Table table = new Table(pointColumnWidths);
Paso 5: agregar celdas a la tabla
Crear un cell objeto instanciando el Cell clase del paquete com.itextpdf.layout.element. Agregue el contenido de la celda usando eladd() método de esta clase.
Finalmente, para agregar esta celda a la tabla, llame al addCell() método del Table clase y pasar el cell object como parámetro de este método, como se muestra a continuación.
// Adding cell 1 to the table
Cell cell1 = new Cell(); // Creating a cell
cell1.add("Name"); // Adding content to the cell
table.addCell(cell1); // Adding cell to the table
// Adding cell 2 to the table Cell
cell2 = new Cell(); // Creating a cell
cell2.add("Raju"); // Adding content to the cell
table.addCell(cell2); // Adding cell to the table
Paso 6: agregar una tabla al documento
Añade el table objeto creado en el paso anterior utilizando el add() método del Document clase como se muestra a continuación.
// Adding list to the document
document.add(table);
Paso 7: 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 crear un documento PDF y agregarle una tabla usando la biblioteca iText. Crea un documento PDF con el nombreaddingTable.pdf, le agrega una tabla y la guarda en la ruta C:/itextExamples/
Guarde este código en un archivo con el nombre AddingTable.java.
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Table;
public class AddingTable {
public static void main(String args[]) throws Exception {
// Creating a PdfDocument object
String dest = "C:/itextExamples/addingTable.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument object
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdf);
// Creating a table
float [] pointColumnWidths = {150F, 150F, 150F};
Table table = new Table(pointColumnWidths);
// Adding cells to the table
table.addCell(new Cell().add("Name"));
table.addCell(new Cell().add("Raju"));
table.addCell(new Cell().add("Id"));
table.addCell(new Cell().add("1001"));
table.addCell(new Cell().add("Designation"));
table.addCell(new Cell().add("Programmer"));
// Adding Table to document
doc.add(table);
// Closing the document
doc.close();
System.out.println("Table created successfully..");
}
}
Compile y ejecute el archivo Java guardado desde el símbolo del sistema utilizando los siguientes comandos:
javac AddingTable.java
java AddingTable
Tras la ejecución, el programa anterior crea un documento PDF que muestra el siguiente mensaje.
Table created successfully..
Si verifica la ruta especificada, puede encontrar el documento PDF creado, como se muestra a continuación.