Wie man in Azure Blob Storage gespeicherte Bilder in C# rendert | IronPDF

Rendering PDFs Containing Images Stored in Azure Blob Storage

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

Azure Blob Storage ist ein cloudbasierter Speicherdienst von Microsoft Azure. Es ist darauf ausgelegt, große Mengen an unstrukturierten Daten zu speichern, wie Text- oder Binärdaten, die über HTTP oder HTTPS zugänglich sind.

Einige Entwickler möchten Bilder verwenden, die in Azure Blob Storage gespeichert sind. Dies stellt ein Problem dar, da die Bilddaten als Binärdaten und nicht als Datei gespeichert werden, die leicht von HTML referenziert werden könnte. Die Lösung hierfür besteht darin, Bilder in einen Base64-String zu konvertieren und sie in ein img-Tag einzufügen.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    var blobBase64 = Convert.ToBase64String(new BlobContainerClient("conn","cont").GetBlobClient("img.jpg").DownloadContent().Value.Content.ToArray());
    new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf($"<img src=\"data:image/jpeg;base64,{blobBase64}\" />").SaveAs("blobImage.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Minimaler Workflow (5 Schritte)

  1. Laden Sie IronPDF herunter, um Bilder in Azure Blob darzustellen
  2. Verarbeiten Sie den Abruf des Blobs
  3. Verwenden Sie die ToBase64String-Methode, um Bytes in Base64 zu konvertieren
  4. Fügen Sie die Base64-Informationen in das img-Tag ein
  5. Rendern Sie das HTML in PDF


Konvertieren von Azure Blob in HTML

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

using Azure.Storage.Blobs;
using System;
using System.IO;
using System.Threading.Tasks;

public async Task ConvertBlobToHtmlAsync()
{
    // 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 the reference to the blob and initialize a stream
    BlobClient blobClient = blobContainer.GetBlobClient("867.jpg");
    using var stream = new MemoryStream();

    // Download the blob data to the stream
    await blobClient.DownloadToAsync(stream);
    stream.Position = 0; // Reset stream position

    // Convert the stream to a byte array
    byte[] array = stream.ToArray();

    // Convert bytes to base64
    var base64 = Convert.ToBase64String(array);

    // Create an img tag with the base64-encoded string
    var imageTag = $"<img src=\"data:image/jpeg;base64,{base64}\"/><br/>";

    // Use the imageTag in your HTML document as needed
}
using Azure.Storage.Blobs;
using System;
using System.IO;
using System.Threading.Tasks;

public async Task ConvertBlobToHtmlAsync()
{
    // 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 the reference to the blob and initialize a stream
    BlobClient blobClient = blobContainer.GetBlobClient("867.jpg");
    using var stream = new MemoryStream();

    // Download the blob data to the stream
    await blobClient.DownloadToAsync(stream);
    stream.Position = 0; // Reset stream position

    // Convert the stream to a byte array
    byte[] array = stream.ToArray();

    // Convert bytes to base64
    var base64 = Convert.ToBase64String(array);

    // Create an img tag with the base64-encoded string
    var imageTag = $"<img src=\"data:image/jpeg;base64,{base64}\"/><br/>";

    // Use the imageTag in your HTML document as needed
}
Imports Azure.Storage.Blobs
Imports System
Imports System.IO
Imports System.Threading.Tasks

Public Async Function ConvertBlobToHtmlAsync() As Task
	' Define your connection string and container name
	Dim connectionString As String = "your_connection_string"
	Dim containerName As String = "your_container_name"

	' Initialize BlobServiceClient with the connection string
	Dim blobServiceClient As New BlobServiceClient(connectionString)

	' Get the BlobContainerClient for the specified container
	Dim blobContainer As BlobContainerClient = blobServiceClient.GetBlobContainerClient(containerName)

	' Get the reference to the blob and initialize a stream
	Dim blobClient As BlobClient = blobContainer.GetBlobClient("867.jpg")
	Dim stream = New MemoryStream()

	' Download the blob data to the stream
	Await blobClient.DownloadToAsync(stream)
	stream.Position = 0 ' Reset stream position

	' Convert the stream to a byte array
	Dim array() As Byte = stream.ToArray()

	' Convert bytes to base64
	Dim base64 = Convert.ToBase64String(array)

	' Create an img tag with the base64-encoded string
	Dim imageTag = $"<img src=""data:image/jpeg;base64,{base64}""/><br/>"

	' Use the imageTag in your HTML document as needed
End Function
$vbLabelText   $csharpLabel

Konvertieren von HTML in PDF

Ausgehend von der imageTag kann es dann mithilfe der RenderHtmlAsPdf-Methode von ChromePdfRenderer in PDF konvertiert werden.

Nachfolgend ein einfaches Beispiel, wie Sie RenderHtmlAsPdf aufrufen könnten:

: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");
Imports IronPdf

' Instantiate Renderer
Private renderer = New ChromePdfRenderer()

' Create a PDF from a HTML string using C#
Private pdf = renderer.RenderHtmlAsPdf(imageTag)

' Export to a file
pdf.SaveAs("imageToPdf.pdf")
$vbLabelText   $csharpLabel

Stellen Sie sicher, dass Sie die Variable "htmlContent" anpassen, um Ihren tatsächlichen HTML-Inhalt einzuschließen, in dem das imageTag verwendet wird.

Häufig gestellte Fragen

Wie kann ich ein PDF mit Bildern aus Azure Blob Storage rendern?

Um ein PDF mit Bildern aus Azure Blob Storage zu rendern, können Sie IronPDF verwenden, um die Bilddaten in einen Base64-String zu konvertieren, diesen in ein HTML-img-Tag einzubetten und dann das HTML mit der `RenderHtmlAsPdf`-Methode als PDF zu rendern.

Welche Schritte sind erforderlich, um ein Bild aus Azure Blob Storage in einen Base64-String zu konvertieren?

Laden Sie zuerst das Bild-Blob mit der Methode `DownloadToStreamAsync` herunter. Dann konvertieren Sie den Bild-Stream in ein Byte-Array und verwenden `Convert.ToBase64String`, um es in einen Base64-String zu verwandeln.

Wie binde ich Bilder aus Azure Blob Storage in ein HTML-Dokument ein?

Laden Sie das Bild als Stream von Azure Blob Storage herunter, konvertieren Sie es in einen Base64-String und betten Sie es in ein HTML-img-Tag ein. Dadurch können Sie das Bild direkt in das HTML-Dokument einfügen.

Welche Rolle spielt Azure Blob Storage bei der Verarbeitung von Bildern für PDFs?

Azure Blob Storage wird verwendet, um unstrukturierte Bilddaten zu speichern. Die Konvertierung dieser Daten in Base64 ermöglicht deren Einbettung in HTML, was die Einbindung in PDFs mit IronPDF erleichtert.

Wie kann ich HTML-Inhalte mit eingebetteten Bildern in C# in ein PDF konvertieren?

Sie können HTML-Inhalte, einschließlich eingebetteter Base64-Bilder, in ein PDF konvertieren, indem Sie IronPDFs `RenderHtmlAsPdf`-Methode verwenden. Diese Methode verarbeitet das HTML und rendert es als PDF-Dokument.

Muss ich mich authentifizieren, um auf Blobs aus Azure Blob Storage zuzugreifen?

Ja, es ist erforderlich, eine Authentifizierung vorzunehmen, um eine Verbindung zu Ihrem Azure Storage-Konto in Ihrem C#-Projekt herzustellen und Blobs sicher zuzugreifen und zu verwalten.

Was ist die Bedeutung der Konvertierung von Bildern in Base64 für die PDF-Erstellung?

Die Konvertierung von Bildern in Base64 ermöglicht das direkte Einbetten binärer Bilddaten in HTML-Dokumente als Daten-URLs, die mit IronPDF genau in PDFs gerendert werden können.

Wie starte ich mit IronPDF zur PDF-Erstellung?

Sie können IronPDF aus dem NuGet-Paketmanager herunterladen. Nach der Installation können Sie seine Methoden verwenden, um HTML-Inhalte, einschließlich Bilder, in PDF-Dokumente zu rendern.

Ist IronPDF beim Rendern von Bildern aus Azure Blob Storage vollständig mit .NET 10-Anwendungen kompatibel?

Ja. IronPDF ist vollständig kompatibel mit .NET 10 und unterstützt die HTML-zu-PDF-Konvertierung (einschließlich Bilder, CSS, JavaScript usw.) in .NET-10-Projekten wie Web-, Desktop- oder Cloud-Diensten. Sie können den gleichen Workflow zum Herunterladen von Blobs und Einbetten von Base64 ohne Änderungen in einer .NET-10-Anwendung verwenden.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 16,154,058 | Version: 2025.11 gerade veröffentlicht