Agregar una Tabla en un PDF con iTextSharp en C# .NET


Vamos a agregar una tabla de datos a un documento PDF usando la librería ITextSharp y el lenguaje C# .NET.

Ya hablamos de la librería iTextSharp y explicamos los aspectos básicos en el articulo Crear un PDF con ItextSharp y C# .NET ahora vamos a continuar y agregaremos una tabla para mostrar datos.

Código

Para crear una tabla con la librería iTextSharp usamos el siguiente código básico:

             PdfPTable table = new PdfPTable(6);
            // Esta es la primera fila
            table.AddCell("Folio");
            table.AddCell("Nombre");
            table.AddCell("Domicilio");
            table.AddCell("Email");
            table.AddCell("Telefono");
            table.AddCell("Movil");
            // Segunda fila
            table.AddCell("#1");
            table.AddCell("Agustin Ramos");
            table.AddCell("Mexico");
            table.AddCell("evilnapsis@gmail.com");
            table.AddCell("9371331142");
            table.AddCell("000000000");
            doc.Add(table);

En la linea 1 creamos la tabla y le asignamos un numero de 6 columnas, esto quiere decir que cada fila constara de 6 columnas.

Entonces, en la linea 3 agregamos la primera columna y las fila se crea automáticamente, lo que debemos saber es que podemos agregar tantas filas como queramos y las filas se van a crear automáticamente, solo, tenemos que hacer coincidir los datos con el orden de las columnas.

A continuación les dejo el código fuente completo, desde crear y abrir el documento hasta cerrarlo.

// Inicializamos el documento PDF
            Document doc = new Document();
            PdfWriter.GetInstance(doc, new FileStream("hola.pdf", FileMode.Create)); // asignamos el nombre de archivo hola.pdf
            // Importante Abrir el documento
            doc.Open();
            // Creamos un titulo personalizado con tamaño de fuente 18 y color Azul
            Paragraph title = new Paragraph(); 
            title.Font = FontFactory.GetFont(FontFactory.TIMES,18f,BaseColor.BLUE);
            title.Add("Crear una tabla en PDF con iTextSharp");
            doc.Add(title);
            // Agregamos un parrafo vacio como separacion.
            doc.Add(new Paragraph(" "));

            // Empezamos a crear la tabla, definimos una tabla de 6 columnas
            PdfPTable table = new PdfPTable(6);
            // Esta es la primera fila
            table.AddCell("Folio");
            table.AddCell("Nombre");
            table.AddCell("Domicilio");
            table.AddCell("Email");
            table.AddCell("Telefono");
            table.AddCell("Movil");
            // Segunda fila
            table.AddCell("#1");
            table.AddCell("Agustin Ramos");
            table.AddCell("Mexico");
            table.AddCell("evilnapsis@gmail.com");
            table.AddCell("9371331142");
            table.AddCell("000000000");
            // Tercera fila
            table.AddCell("#2");
            table.AddCell("Jennifer Janice Jimenez");
            table.AddCell("Mexico");
            table.AddCell("");
            table.AddCell("");
            table.AddCell("111111");
            // Cuarta fila
            table.AddCell("#3");
            table.AddCell("");
            table.AddCell("");
            table.AddCell("");
            table.AddCell("");
            table.AddCell("");
            // Agregamos la tabla al documento
            doc.Add(table);
            // Ceramos el documento
            doc.Close();

Una vez cerrado el documento, se guarda en la ubicación que le asignamos, en la linea donde asignamos el nombre, podemos colocar una ubicación absoluta o bien, con solo escribir el nombre del archivo, este se guardara en la misma ubicación del ejecutable.

Resultado

Leave a comment