Renderización de PDF que contienen imágenes almacenadas en Azure Blob Storage
Azure Blob Storage es un servicio de almacenamiento en la nube proporcionado por Microsoft Azure. Está diseñado para almacenar grandes cantidades de datos no estructurados, como texto o datos binarios, a los que se puede acceder a través de HTTP o HTTPS.
Algunos desarrolladores desean utilizar imágenes almacenadas en Azure Blob Storage. Esto plantea un problema porque los datos de la imagen se almacenan en formato binario y no como un archivo, que podría ser fácilmente referenciado por HTML. La solución consiste en convertir las imágenes a una cadena base64 y añadirlas a una etiqueta img.
Cómo renderizar imágenes almacenadas en Azure Blob Storage
- Descargar la biblioteca C# para renderizar imágenes almacenadas en Azure Blob
- Manejar el proceso de recuperación de la mancha
- 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
// Obtener Blob
var blob = blobContainer.GetBlobReference("867.jpg");
var stream = new MemoryStream();
await blob.DownloadToStreamAsync(stream);
var array = new byte[blob.Properties.Length];
await blob.DownloadToByteArrayAsync(target: array, 0);
// Convertir bytes a base64
var base64 = Convert.ToBase64String(array);
var ImageTag = $"<img src=\"data:image/jpeg;base64, {base64}\"/><br/>";
// Obtener Blob
var blob = blobContainer.GetBlobReference("867.jpg");
var stream = new MemoryStream();
await blob.DownloadToStreamAsync(stream);
var array = new byte[blob.Properties.Length];
await blob.DownloadToByteArrayAsync(target: array, 0);
// Convertir bytes a base64
var base64 = Convert.ToBase64String(array);
var ImageTag = $"<img src=\"data:image/jpeg;base64, {base64}\"/><br/>";
' Obtener Blob
Dim blob = blobContainer.GetBlobReference("867.jpg")
Dim stream = New MemoryStream()
Await blob.DownloadToStreamAsync(stream)
Dim array = New Byte(blob.Properties.Length - 1){}
Await blob.DownloadToByteArrayAsync(target:= array, 0)
' Convertir bytes a base64
Dim base64 = Convert.ToBase64String(array)
Dim ImageTag = $"<img src=""data:image/jpeg;base64, {base64}""/><br/>"
A continuación, la variable ImageTag puede fusionarse en un documento HTML y renderizarse como PDF.