IRONSOFTWAREHOME

AzureブロブストレージイメージでPDFをC#でレンダリングする

Curtis Chau
Curtis Chau
Updated: 2026年4月24日

Azure Blob Storage の画像を使用して C# で PDF をレンダリングするには、バイナリとして BLOB データを取得し、それを base64 文字列に変換し、HTML の img タグに埋め込み、IronPDFの ChromePdfRenderer を使用して HTML を PDF に変換します。

Azure Blob Storage は、Microsoft Azure が提供するクラウドベースのストレージサービスです。 HTTP または HTTPS 経由でアクセス可能な、テキストまたはバイナリデータなどの大量の非構造化データを保存します。 C#でPDFを扱う場合、IronPDFは、Azure Blob Storageのようなクラウドサービスに保存されたものを含め、様々な画像形式やソースを扱うための強力な機能を提供します。

Azure Blob Storageに保存された画像を使用するには、直接のファイル参照ではなく、バイナリデータ形式を扱う必要があります。 解決策は、画像を base64 文字列に変換し、img タグに埋め込むことです。 このアプローチは、IronPDFのHTMLからPDFへの変換機能とシームレスに連携し、画質とフォーマットを維持します。

クイックスタート: Azure Blob Storage イメージを使用して PDF をレンダリングする
  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2このコード スニペットをコピーして実行します。

    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");
    C#
  3. 3実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル
    arrow pointer

Azureブロブ画像をHTMLに変換するにはどうすればよいですか?

Blob を含むコンテナで Azure Storage アカウントを設定し、C# プロジェクトで認証と接続を処理します。 IronPDF と並行して Azure.Storage.Blobs NuGet パッケージを使用します。 複雑な認証シナリオについては、安全なブロブアクセスのためのIronPDFのHTTPリクエストヘッダ機能をご覧ください。

画像をストリームとしてダウンロードするには DownloadAsync メソッドを使用します。 ストリームデータを Base64 に変換し、HTML の img タグに埋め込みます。 HTML ドキュメントに htmlContent 変数を統合します。 このテクニックは、動的に読み込まれるクラウドストレージの画像を使用してレポートや文書を作成する場合に効果的です。

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
}

複数の画像や異なるフォーマットを扱う場合は、JPG、PNG、SVG、GIFを含むさまざまな画像タイプに対するIronPDFのサポートを活用してください。 base64エンコーディング方式は、これらすべてのフォーマットで汎用的に機能します。

さまざまな画像フォーマットで作業する

Azure Blob Storageは様々な画像フォーマットに対応しており、IronPDFは適切にエンコードされた画像フォーマットに対応しています。 以下は、MIMEタイプを動的に決定する強化された例です:

public string GetImageMimeType(string blobName)
{
    var extension = Path.GetExtension(blobName).ToLower();
    return extension switch
    {
        ".jpg" or ".jpeg" => "image/jpeg",
        ".png" => "image/png",
        ".gif" => "image/gif",
        ".svg" => "image/svg+xml",
        ".webp" => "image/webp",
        _ => "image/jpeg" // default fallback
    };
}

public async Task<string> CreateImageTagFromBlob(BlobClient blobClient)
{
    using var stream = new MemoryStream();
    await blobClient.DownloadToAsync(stream);
    stream.Position = 0;
    
    var base64 = Convert.ToBase64String(stream.ToArray());
    var mimeType = GetImageMimeType(blobClient.Name);
    
    return $"<img src=\"data:{mimeType};base64,{base64}\" alt=\"{Path.GetFileNameWithoutExtension(blobClient.Name)}\"/>";
}

HTMLをPDFに変換するにはどうすればよいですか?

ChromePdfRendererRenderHtmlAsPdf() メソッドを使用して htmlContent を PDF に変換します。 IronPDFのChromeレンダリングエンジンは変換中も画質と位置を維持します。 最適な結果を得るためには、レンダリングオプションを設定して、PDF出力の品質をコントロールしてください。

SaveAs() を呼び出す方法は次のとおりです。

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");

bodyHtml と共に実際の HTML コンテンツを含めるように pdfOptions 変数を調整します。

完全な作業例

ここでは、エラー処理と最適化を含む、Azure Blob Storageの取得とIronPDFレンダリングを組み合わせた包括的な例を示します:

using Azure.Storage.Blobs;
using IronPdf;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading.Tasks;

public class AzureBlobToPdfConverter
{
    private readonly string _connectionString;
    private readonly ChromePdfRenderer _renderer;

    public AzureBlobToPdfConverter(string connectionString)
    {
        _connectionString = connectionString;
        _renderer = new ChromePdfRenderer();
        
        // Configure rendering options for better image quality
        _renderer.RenderingOptions.ImageQuality = 100;
        _renderer.RenderingOptions.DpiResolution = 300;
    }

    public async Task<PdfDocument> ConvertBlobImagesToPdfAsync(string containerName, List<string> blobNames)
    {
        var htmlBuilder = new StringBuilder();
        htmlBuilder.Append("<html><body style='margin: 20px;'>");
        
        var blobServiceClient = new BlobServiceClient(_connectionString);
        var containerClient = blobServiceClient.GetBlobContainerClient(containerName);

        foreach (var blobName in blobNames)
        {
            try
            {
                var blobClient = containerClient.GetBlobClient(blobName);
                var imageTag = await CreateImageTagFromBlob(blobClient);
                htmlBuilder.Append(imageTag);
                htmlBuilder.Append("<br/><br/>"); // Add spacing between images
            }
            catch (Exception ex)
            {
                // Log error and continue with other images
                Console.WriteLine($"Error processing blob {blobName}: {ex.Message}");
            }
        }

        htmlBuilder.Append("</body></html>");
        
        // Convert the complete HTML to PDF
        return _renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
    }

    private async Task<string> CreateImageTagFromBlob(BlobClient blobClient)
    {
        using var stream = new MemoryStream();
        await blobClient.DownloadToAsync(stream);
        stream.Position = 0;
        
        var base64 = Convert.ToBase64String(stream.ToArray());
        var mimeType = GetImageMimeType(blobClient.Name);
        
        return $"<img src=\"data:{mimeType};base64,{base64}\" " +
               $"alt=\"{Path.GetFileNameWithoutExtension(blobClient.Name)}\" " +
               $"style=\"max-width: 100%; height: auto;\"/>";
    }

    private string GetImageMimeType(string blobName)
    {
        var extension = Path.GetExtension(blobName).ToLower();
        return extension switch
        {
            ".jpg" or ".jpeg" => "image/jpeg",
            ".png" => "image/png",
            ".gif" => "image/gif",
            ".svg" => "image/svg+xml",
            ".webp" => "image/webp",
            _ => "image/jpeg"
        };
    }
}

パフォーマンスの考慮事項

大きな画像や複数のblobを扱う場合は、asyncとマルチスレッド技術を実装して、パフォーマンスを向上させてください。 同じブロブを繰り返しダウンロードしないように、キャッシュ機構を追加してください。

本番環境、特にAzureデプロイメントについては、IronPDFのAzureデプロイメントガイドでベストプラクティスと推奨設定を確認してください。 メモリを大量に消費する操作には、IronPDFのメモリストリーム機能を使用して、リソースの使用量を最適化してください。

セキュリティと認証

Azure Blob Storageにアクセスする際に、適切な認証を確保すること。 セキュリティを強化するために、保護されたリソースにアクセスするときは、カスタムHTTPヘッダーを実装してください。 Azure blob イメージを含む機密文書には、PDF パスワード保護の実装を検討してください。

よくある問題のトラブルシューティング

BLOBストレージの統合に関する問題が発生した場合は、IronPDFのAzureトラブルシューティングガイドを参照して、一般的な問題の解決策を確認してください。 画像固有の問題については、画像レンダリング・ドキュメントが、さまざまなシナリオの処理に関する詳細なガイダンスを提供しています。

DownloadToStreamAsync imageTag imageTag RenderHtmlAsPdf RenderHtmlAsPdf "htmlContent" imageTag

よくある質問

Azure Blob Storageに保存された画像でPDFを生成するには?

Azure Blob Storageの画像を使ってPDFを生成するには、BLOBデータをバイナリとして取得し、それをbase64文字列に変換してHTMLのimgタグに埋め込み、IronPDFのChromePdfRendererを使ってHTMLをPDFに変換します。この方法はIronPDFのHTMLからPDFへの変換機能とシームレスに動作し、画質を維持します。

Azure BlobイメージをPDFにレンダリングする最も速い方法は?

BlobContainerClientでblobを取得し、Convert.ToBase64String()でbase64に変換し、imgタグに埋め込み、IronPDFのChromePdfRenderer().RenderHtmlAsPdf()メソッドでレンダリングする。

PDFでAzure Blob Storageイメージのファイル参照を直接使用できないのはなぜですか?

Azure Blob Storageでは、直接ファイルを参照するのではなく、バイナリデータ形式を扱う必要があります。解決策は画像をbase64文字列に変換してimgタグに埋め込み、それをIronPDFのHTMLからPDFへの変換機能で処理することです。

PDFでAzure Blobイメージを扱うには、どのNuGetパッケージが必要ですか?

PDFレンダリング用のIronPDFと一緒にブロブストレージ操作用のAzure.Storage.Blobs NuGetパッケージが必要です。IronPDFはBase64画像を埋め込んだHTMLをPDFドキュメントに変換するChromePdfRendererを提供します。

PDFを生成する際、セキュアなAzure Blobアクセスの認証をどのように処理すればよいですか?

C# プロジェクトで、適切な認証と接続を使用して Azure Storage アカウントを設定します。複雑な認証シナリオについては、IronPDFのHTTPリクエストヘッダ機能を使用して、PDFレンダリング時のセキュアなブロブアクセスを処理することができます。

How does base64 encoding aid in using images from Azure Blob Storage with IronPDF?

Base64 encoding allows binary data to be converted into a text format. Images from Azure Blob Storage are encoded into base64, embedded in HTML, and rendered by IronPDF into a PDF.

What methods does IronPDF offer for image insertion within PDFs?

IronPDF provides features to embed images by rendering HTML content containing base64-encoded image data, supporting dynamic and versatile PDF document creation.

How can I enhance performance when generating PDFs with large Azure Blob Storage images using IronPDF?

Implement async processes and caching strategies to handle large images more efficiently. IronPDF supports techniques to reduce redundant downloads and optimize rendering time.

Is it possible to secure documents with Azure Blob images using IronPDF?

Yes, IronPDF allows setting PDF password protection for documents that include sensitive images retrieved from Azure Blob Storage, enhancing security and compliance.

What steps should be followed if encountering issues with Azure Blob and IronPDF?

Consult IronPDF's troubleshooting guides for blob storage integration issues. Common solutions involve verifying connection strings, blob path accuracy, and proper authentication.

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

準備はできましたか?

Nuget Downloads 20,878,335バージョン:2026.9リリースされたばかり

無料をゲット

30日間の試用キーをすぐに取得。

bullet_checkedクレジットカードやアカウントの作成は不要です。
bullet_test製品版でのテスト
透かしなし
bullet_calendar30日間
完全機能の製品
bullet_support試用期間中の
24/5テクニカルサポート
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。