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

Chaknith Bin
Chaknith Bin
25 de enero, 2023
Actualizado 10 de diciembre, 2024
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

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.

Primer Paso:
green arrow pointer



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")
$vbLabelText   $csharpLabel

También podemos servir a toda unaCadena HTML o documento PDF como matriz de bytes mediante la integración ASP.NET MVC de IronPDF.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.