Agregar Imagen en PDF con iTextSharp C# .NET

Vamos a agregar imagenes a un PDF con C# .NET y iTextSharp para enriquecer nuestros documentos o reportes, se pueden incluir logos, graficos, PNG, JPG

Les invito a leer como crear un PDF con iTextShartp pues en este articulo partiremos de que ya tenemos los conocimientos básicos.

Código

Vamos a crear un PDF, agregar texto y agregarle una imagen al documento PDF.

using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;

// 1. Instanciamos el objeto Document para el PDF
Document doc = new Document();

// 2. Configuramos el escritor y creamos el archivo físico "image.pdf"
PdfWriter.GetInstance(doc, new FileStream("image.pdf", FileMode.Create));

// 3. Abrimos el documento para permitir la edición
doc.Open();

// --- Bloque de Título ---
Paragraph title = new Paragraph();
// Definimos fuente: Times New Roman, tamaño 20 y color Magenta
title.Font = FontFactory.GetFont(FontFactory.TIMES, 20f, BaseColor.MAGENTA);
title.Add("Agregar una Imagen en un PDF con iTextSharp en C# .NET");
doc.Add(title);

// --- Manejo de la Imagen ---
// Obtenemos la instancia de la imagen desde una ruta local (debe existir el archivo)
iTextSharp.text.Image image1 = iTextSharp.text.Image.GetInstance("image1.png");

// Opción A: Escalar por porcentaje (50% del tamaño original)
// image1.ScalePercent(50f);

// Opción B: Escalar con dimensiones fijas (Ancho: 480px, Alto: 270px)
// Esto es útil para mantener una relación de aspecto 16:9
image1.ScaleAbsoluteWidth(480);
image1.ScaleAbsoluteHeight(270);

// Añadimos la imagen procesada al documento
doc.Add(image1);

// 4. Cerramos el documento para guardar cambios y liberar el archivo
doc.Close();

Para trabajar con imágenes, utilizamos la clase iTextSharp.text.Image. El proceso es muy sencillo y se divide en tres pasos:

Insertar: Una vez configurada la imagen, usamos doc.Add(image1) para pegarla dentro de nuestro documento.

Obtener la imagen: Usamos la instrucción iTextSharp.text.Image.GetInstance("image1.png"). Entre las comillas va el nombre del archivo; si la imagen está en otra ubicación, puedes poner la ruta completa (ej. "C:/fotos/logo.png").

Ajustar el tamaño: Tenemos dos formas de controlar las dimensiones:

Medidas fijas: Con ScaleAbsoluteWidth y ScaleAbsoluteHeight defines exactamente el ancho y lo alto en píxeles.

Porcentaje: Con ScalePercent(50f) ajustas el tamaño proporcionalmente (en este caso, al 50% del original).

💡 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 en PDF usando C# .NET.

Resultado

Conclusión

Insertar imágenes con iTextSharp es muy flexible, ya que nos permite elegir entre darle un tamaño exacto a la foto o simplemente escalarla por porcentaje para que no se pierda la proporción. Solo recuerda que el orden en que hagas el doc.Add determinará en qué parte del PDF aparecerá la imagen.

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