Cómo añadir imágenes a los PDF

por Chaknith Bin

Incrustar una imagen en un PDF significa colocarla directamente dentro del archivo PDF, lo que garantiza que sea autónoma y no dependa de fuentes externas. Esto permite que el PDF muestre la imagen sin problemas, incluso sin conexión a Internet ni archivos externos.

IronPDF es capaz de convertir cadenas HTML, archivos y URLs web a PDF. Este método permite incrustar imágenes en HTML y convertirlas después en un documento PDF.


Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Ejemplo de incrustación de imagen en PDF

Para incrustar una imagen en un PDF, primero debe incluir la imagen en HTML utilizando la etiqueta <img> etiqueta. A continuación, utilice el método RenderHtmlAsPdf para convertir el HTML a PDF. Si ya dispone de un PDF, puede estampar la imagen en el documento PDF utilizando un botón estampador de imágenes o HTML.

: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'>";

//  Convertir HTML en PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

//  Exportar PDF
pdf.SaveAs("embedImage.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private html As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"

'  Convertir HTML en PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

'  Exportar PDF
pdf.SaveAs("embedImage.pdf")
VB   C#

Ejemplo de incrustación con Base64

Para utilizar base64 para incrustar una imagen en HTML, primero debe obtener los datos binarios de la imagen, ya sea leyendo el archivo de imagen o recibiéndolo a través de una petición de red. Utilice el método Convert.ToBase64String de Microsoft .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. Habrá notado que el tipo de imagen se especifica antes que los datos base64. Visite el Documentos web MDN para obtener más información sobre los tipos de formato de imagen.

: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();

//  Importar datos binarios de archivos de imagen
byte[] binaryData = File.ReadAllBytes("ironpdf-logo-text-dotnet.svg");

//  Convertir los datos binarios a base 64
string imgDataUri = Convert.ToBase64String(binaryData);

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

//  Convertir HTML a PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

//  Exportar el PDF
pdf.SaveAs("embedImageBase64.pdf");
Imports IronPdf
Imports System
Imports System.IO

Private renderer As New ChromePdfRenderer()

'  Importar datos binarios de archivos de imagen
Private binaryData() As Byte = File.ReadAllBytes("ironpdf-logo-text-dotnet.svg")

'  Convertir los datos binarios a base 64
Private imgDataUri As String = Convert.ToBase64String(binaryData)

'  Incrustar en HTML
Private html As String = $"<img src='data:image/svg+xml;base64,{imgDataUri}'>"

'  Convertir HTML a PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

'  Exportar el PDF
pdf.SaveAs("embedImageBase64.pdf")
VB   C#

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.