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ónesquema 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.
Comience con IronPDF
Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.
Cómo incrustar imágenes con el esquema URI de datos
- Descargar IronPDF de NuGet
- 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
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 unaCadena HTML o documento PDF como matriz de bytes mediante la integración ASP.NET MVC de IronPDF.