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.