Agregar una Tabla en PDF con iTextSharp C# .NET

Para representar datos de manera ordenada vamos a agregar una tabla de datos a un documento PDF usando la librería ITextSharp y el lenguaje C# .NET.

Insertar elementos visuales como logotipos, gráficos o capturas de pantalla es fundamental para que nuestros reportes y documentos PDF luzcan profesionales y sean fáciles de entender. La librería iTextSharp nos permite trabajar con los formatos más comunes, como PNG y JPG, de una manera muy sencilla.

Nota importante: Antes de continuar, te recomiendo leer nuestro artículo sobre Cómo crear un PDF con iTextSharp desde cero, ya que en esta guía partiremos de que ya conoces los conceptos básicos para generar el documento y abrir el archivo.

¿Qué aprenderemos en esta guía?

  • Cómo cargar una imagen desde una ruta local.

  • La diferencia entre escalar por tamaño fijo o por porcentaje.

  • Cómo posicionar la imagen dentro del flujo de nuestro reporte.

Crear una tabla con iTextSharp

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.

Codigo completo

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.

💡 Tip de experto: No te quedes solo en el diseño; combina tablas e imágenes en un flujo de trabajo real. Mira este ejemplo completo de reportes dinámicos con MySQL en PDF usando C# .NET.

Resultado

Leave a Reply

Your email address will not be published. Required fields are marked *

Discover more from Evilnapsis

Subscribe now to keep reading and get access to the full archive.

Continue reading