Aktualisiert 10. Dezember 2024
Teilen Sie:

Rendering von PDFs mit Bildern, die in Azure Blob Storage gespeichert sind

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

Azure Blob Storage ist ein Cloud-basierter Speicherdienst, der von Microsoft Azure bereitgestellt wird. Sie ist für die Speicherung großer Mengen unstrukturierter Daten, wie Text- oder Binärdaten, konzipiert, auf die über HTTP oder HTTPS zugegriffen werden kann.

Einige Entwickler möchten Bilder verwenden, die in Azure Blob Storage gespeichert sind. Dies ist problematisch, da die Bilddaten als Binärdaten und nicht als Datei gespeichert werden, auf die HTML leicht verweisen könnte. Die Umgehung besteht darin, Bilder in eine base64-Zeichenkette zu konvertieren und sie einem img-Tag hinzuzufügen.

Erste Schritte mit IronPDF

Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer



Azure Blob in HTML konvertieren

Angenommen, Sie haben bereits ein Azure-Storage-Konto eingerichtet und verfügen über einen Container mit Blobs, müssen Sie auch die Authentifizierung und die Verbindung zu Ihrem Azure-Storage im C#-Projekt handhaben. Danach können Sie die Methode DownloadToStreamAsync verwenden, um das Bild als Stream herunterzuladen. Die Stream-Informationen können dann in Base64 umgewandelt und in den img-Tag von HTML eingebettet werden. Schließlich kann die Variable imageTag in ein HTML-Dokument eingefügt werden.

// 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 = $"<img src=\"data:image/jpeg;base64, {base64}\"/><br/>";
// 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 = $"<img src=\"data:image/jpeg;base64, {base64}\"/><br/>";

HTML in PDF umwandeln

Ausgehend vom imageTag kann es dann mit der Methode "RenderHtmlAsPdf" von ChromePdfRenderer in PDF umgewandelt werden.

:path=/static-assets/pdf/content-code-examples/how-to/images-azure-blob-storage-html-to-pdf.cs
using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf(imageTag);

// Export to a file
pdf.SaveAs("imageToPdf.pdf");
Chaknith Bin

Chaknith Bin

Software-Ingenieur

 LinkedIn

Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.