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.


Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

//  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/>"
VB   C#

A continuación, la variable ImageTag puede fusionarse en un documento HTML y renderizarse como PDF.