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.
Cómo incrustar imágenes con el esquema URI de datos
- Descargar la biblioteca C# para incrustar imágenes
- Lee el byte de la imagen utilizando el método ReadAllBytes
- Utilice el método ToBase64String para convertir bytes a base64
- Incluir la información base64 en la etiqueta img
- Convertir HTML en PDF
Instalar con NuGet
Install-Package IronPdf
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;
using System;
// 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
Imports System
' 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")
También podemos servir a toda una Cadena HTML o documento PDF como matriz de bytes a IronPDF.