Cómo agregar imágenes a PDFs en C#

Cómo añadir imágenes a archivos PDF en C# con IronPDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF permite incrustar imágenes directamente en PDF convirtiendo HTML que contiene etiquetas de imagen en documentos PDF, creando archivos autónomos que muestran imágenes sin dependencias externas ni conexiones a Internet.

Inicio rápido: Incruste imágenes en PDFs fácilmente

Empiece a incrustar imágenes en archivos PDF con IronPDF en .NET C#. Convierta su imagen en una cadena Base64 e incrústela en una etiqueta HTML <img> para generar un PDF autónomo que no requiera archivos externos. Este método garantiza la visualización de las imágenes sin acceso a Internet.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronPDF con el gestor de paquetes NuGet

    PM > Install-Package IronPdf

  2. Copie y ejecute este fragmento de código.

    new IronPdf.ChromePdfRenderer()
         .RenderHtmlAsPdf("<img src='data:image/png;base64," + Convert.ToBase64String(File.ReadAllBytes("logo.png")) + "'>")
         .SaveAs("image-embedded.pdf");
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronPDF en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer


¿Cómo incrustar imágenes en PDF?

Para incrustar una imagen en un PDF, primero incluya la imagen en HTML utilizando la etiqueta <img>. A continuación, utilice el método RenderHtmlAsPdf para convertir el HTML a PDF. Si ya tiene un PDF, estampe la imagen en el documento PDF utilizando un tutorial de estampado de imágenes o estampado HTML. Este enfoque funciona con el motor de renderizado Chrome de IronPDF.

¿Por qué funciona mejor el método RenderHtmlAsPdf?

El método RenderHtmlAsPdf aprovecha el motor de renderizado de Chrome de IronPDF para convertir el contenido HTML, incluidas las imágenes, en formato PDF conservando el diseño y el estilo. Este método es compatible con diseños CSS responsivos y garantiza que las imágenes se muestren tal y como aparecen en un navegador web. Para diseños complejos, consulte nuestra guía sobre formateo HTML perfecto.

¿Qué formatos de imagen se admiten?

IronPDF es compatible con los principales formatos de imagen, incluidos PNG, JPG, SVG, GIF y BMP, al incrustarlos mediante la conversión a HTML. La biblioteca maneja gráficos SVG con eficacia para ilustraciones vectoriales escalables. Cuando trabaje con formatos diferentes, asegúrese de que su HTML especifica correctamente el tipo de imagen en el atributo src o en la URI de datos Base64.

¿Cuándo debo utilizar una URL directa frente a la codificación Base64?

Utilice URL directas cuando las imágenes estén alojadas en línea y el tamaño del archivo sea un problema. Elija la codificación Base64 para PDF autónomos que no requieran acceso a Internet. Para imágenes almacenadas en servicios en la nube, consulte nuestra guía sobre incrustación de imágenes de Azure Blob Storage. Esta decisión afecta tanto al tamaño del archivo como a la portabilidad de los PDF generados.

:path=/static-assets/pdf/content-code-examples/how-to/add-images-to-pdfs-embed-image.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

string html = @"<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export PDF
pdf.SaveAs("embedImage.pdf");
$vbLabelText   $csharpLabel

¿Cómo incrustar imágenes con Base64?

Para utilizar Base64 para incrustar una imagen en HTML, primero obtenga los datos binarios de la imagen leyendo el archivo de imagen o recibiéndolo a través de una petición de red. Utilice el método Convert.ToBase64String de .NET para convertir los datos binarios a Base64. Construya la etiqueta de la imagen en HTML utilizando "data:image/svg+xml;base64," antes de los datos Base64. Tenga en cuenta que el tipo de imagen se especifica antes de los datos Base64. Visite los MDN Web Docs sobre formatos de imagen para obtener más información sobre los tipos de formatos de imagen.

¿Por qué utilizar la codificación Base64 para las imágenes?

La codificación Base64 crea PDF autónomos que no dependen de recursos externos, lo que garantiza que las imágenes se muestren siempre sin conexión a Internet o cuando los archivos de imagen originales se mueven o eliminan. Esta técnica es útil cuando se crean archivos PDF en aplicaciones de Blazor Server o cuando se despliega en Azure, donde el acceso a archivos externos puede estar restringido. Las imágenes codificadas pasan a formar parte de la cadena HTML, lo que las hace ideales para conversiones de cadenas HTML a PDF.

¿Cuáles son las consideraciones de rendimiento?

La codificación Base64 aumenta el tamaño del archivo en aproximadamente un 33%, pero elimina las dependencias externas, por lo que resulta ideal para fines de archivo o entornos de red restringidos. Cuando el rendimiento sea crítico, considere el uso de async PDF generation para manejar múltiples conversiones de imagen simultáneamente. Para operaciones a gran escala, consulte nuestra guía de optimización del rendimiento para maximizar el rendimiento.

¿Cómo manejar archivos de imagen de gran tamaño?

En el caso de imágenes grandes, comprímalas antes de codificarlas en Base64 para minimizar el tamaño del archivo PDF, o utilice URL externas si el tamaño del archivo es crítico. IronPDF ofrece funciones de compresión de PDF que pueden reducir el tamaño de los archivos hasta en un 75%. Cuando trabaje con varias imágenes, optimice la configuración de renderizado para obtener el mejor equilibrio entre calidad y tamaño de archivo.

:path=/static-assets/pdf/content-code-examples/how-to/add-images-to-pdfs-base64-image.cs
using IronPdf;
using System;
using System.IO;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Import image file binary data
byte[] binaryData = File.ReadAllBytes("ironpdf-logo-text-dotnet.svg");

// Convert the binary data to base 64
string imgDataUri = Convert.ToBase64String(binaryData);

// Embed in HTML
string html = $"<img src='data:image/svg+xml;base64,{imgDataUri}'>";

// Convert HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export the PDF
pdf.SaveAs("embedImageBase64.pdf");
$vbLabelText   $csharpLabel

¿Listo para ver qué más puedes hacer? Consulta nuestra página de tutoriales aquí: Características adicionales

Preguntas Frecuentes

¿Cómo añado imágenes a documentos PDF en C#?

Con IronPDF, puede añadir imágenes a los PDF incluyéndolas en HTML mediante la etiqueta  related to ¿Cómo añado imágenes a documentos PDF en C#? y convirtiendo después el HTML a PDF mediante el método RenderHtmlAsPdf. Este método aprovecha el motor de renderizado de Chrome de IronPDF para renderizar con precisión las imágenes dentro de sus documentos PDF.

¿Qué formatos de imagen puedo incrustar en los PDF?

IronPDF es compatible con los principales formatos de imagen, incluidos PNG, JPG, SVG, GIF y BMP, al incrustarlos mediante la conversión a HTML. La biblioteca maneja especialmente bien los gráficos SVG para ilustraciones vectoriales escalables, garantizando que sus imágenes se reproduzcan correctamente en el PDF generado.

¿Debo utilizar URL directas o codificación Base64 para las imágenes?

Utilice URL directas cuando las imágenes estén alojadas en línea y el tamaño del archivo sea un problema. Elija la codificación Base64 con IronPDF cuando cree PDF autónomos que no requieran acceso a Internet. La codificación Base64 garantiza que sus PDF muestren imágenes sin dependencias externas.

¿Puedo añadir imágenes a archivos PDF existentes?

Sí, IronPDF permite añadir imágenes a los PDF existentes utilizando un estampador de imágenes o un estampador HTML. Esta función le permite superponer imágenes en páginas o posiciones específicas dentro de sus documentos PDF existentes.

¿Cómo convierto una imagen a Base64 para incrustarla en un PDF?

Convierta su imagen en una cadena Base64 e incrústela directamente en una etiqueta HTML  related to ¿Cómo convierto una imagen a Base64 para incrustarla en un PDF? utilizando un URI de datos. El método RenderHtmlAsPdf de IronPDF procesará entonces esta imagen codificada en Base64 y la incrustará en su PDF, creando un documento autocontenido.

¿La incrustación de imágenes conserva el estilo CSS y los diseños?

Sí, el motor de renderizado de Chrome de IronPDF conserva los diseños y estilos CSS al convertir HTML con imágenes a PDF. La biblioteca admite diseños CSS con capacidad de respuesta, lo que garantiza que las imágenes se muestren exactamente como aparecerían en un navegador web.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
Revisado por
Jeff Fritz
Jeffrey T. Fritz
Gerente Principal de Programas - Equipo de la Comunidad .NET
Jeff también es Gerente Principal de Programas para los equipos de .NET y Visual Studio. Es el productor ejecutivo de la serie de conferencias virtuales .NET Conf y anfitrión de 'Fritz and Friends', una transmisión en vivo para desarrolladores que se emite dos veces a la semana donde habla sobre tecnología y escribe código junto con la audiencia. Jeff escribe talleres, presentaciones, y planifica contenido para los eventos de desarrolladores más importantes de Microsoft, incluyendo Microsoft Build, Microsoft Ignite, .NET Conf y la Cumbre de Microsoft MVP.
¿Listo para empezar?
Nuget Descargas 17,012,929 | Versión: 2025.12 recién lanzado