Renderización de PDF que contienen imágenes almacenadas en Azure Blob Storage

This article was translated from English: Does it need improvement?
Translated
View the article in English

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

# Convertir Azure Blob a HTML Asumiendo que ya has configurado una cuenta Azure Storage y tienes un contenedor con blobs, también necesitas manejar la autenticación y conexión a tu Azure Storage en el proyecto C#. Después puedes usar el método `DownloadToStreamAsync` para descargar la imagen como un stream. A continuación, la información del flujo puede convertirse a Base64 e incrustarse en la etiqueta img de HTML. Por último, la variable imageTag puede integrarse en un documento HTML. ```cs // Define your connection string and container name string connectionString = "your_connection_string"; string containerName = "your_container_name"; // Initialize BlobServiceClient with the connection string BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString); // Get the BlobContainerClient for the specified container BlobContainerClient blobContainer = blobServiceClient.GetBlobContainerClient(containerName); // Get 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); // Convert bytes to base64 var base64 = Convert.ToBase64String(array); var imageTag = $"
"; ``` ### Convertir HTML a PDF A partir de la imageTag, se puede convertir a PDF utilizando el método `RenderHtmlAsPdf` de **ChromePdfRenderer**. ```cs :path=/static-assets/pdf/content-code-examples/how-to/images-azure-blob-storage-html-to-pdf.cs ```