Incrustar imágenes con DataURIs en C# y VB Renderizado PDF

Cuando se trabaja con cadenas y documentos HTML, a menudo es útil no depender de un directorio de activos. Para solucionar este problema, utilizamos la función esquema URI de datos.

El esquema URI de datos es un método utilizado en el desarrollo web para incrustar datos directamente en el código HTML o CSS, eliminando la necesidad de archivos separados. Los URI de datos permiten inyectar imágenes, archivos e incluso tipos de letra directamente en un documento HTML en forma de cadena.


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 básico de incrustación de imágenes

El siguiente ejemplo muestra la renderización de una imagen en un documento HTML sin un archivo asset:

:path=/static-assets/pdf/content-code-examples/how-to/datauris-image.cs
using IronPdf;

// Read byte from image file
var pngBinaryData = System.IO.File.ReadAllBytes("My_image.png");

// Convert bytes to base64
var ImgDataURI = @"data:image/png;base64," + Convert.ToBase64String(pngBinaryData);

// Import base64 to img tag
var ImgHtml = $"<img src='{ImgDataURI}'>";

ChromePdfRenderer Renderer = new ChromePdfRenderer();

// Render the HTML string
var pdf = Renderer.RenderHtmlAsPdf(ImgHtml);

pdf.SaveAs("datauri_example.pdf");
Imports IronPdf

' Read byte from image file
Private pngBinaryData = System.IO.File.ReadAllBytes("My_image.png")

' Convert bytes to base64
Private ImgDataURI = "data:image/png;base64," & Convert.ToBase64String(pngBinaryData)

' Import base64 to img tag
Private ImgHtml = $"<img src='{ImgDataURI}'>"

Private Renderer As New ChromePdfRenderer()

' Render the HTML string
Private pdf = Renderer.RenderHtmlAsPdf(ImgHtml)

pdf.SaveAs("datauri_example.pdf")
VB   C#

También podemos servir a toda una Cadena HTML o documento PDF como matriz de bytes a IronPDF.