IRONSOFTWAREHOME

IronPDF Blazorサーバーチュートリアル:C#でHTMLをPDFにレンダリングする

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

IronPDFは.NET 6をサポートし、Blazorコンポーネントから直接PDF生成機能を提供し、最小限のセットアップでC#を使用したBlazor ServerアプリケーションのHTMLからPDFへの変換を可能にします。

クイックスタート: Blazor Server で PDF をレンダリングする

Blazor ServerアプリケーションでIronPDFを使い始めましょう。 この例では、HTMLコンテンツをPDFにレンダリングする方法を示します。 数行のコードでBlazorコンポーネントをPDFに変換します。

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

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

    IronPdf.HtmlToPdf.RenderHtmlAsPdf(htmlContent).SaveAs(outputPath);
    C#
  3. 3実際の環境でテストするためにデプロイする

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

新しい Blazor Server プロジェクトを作成するには?

新しいプロジェクトを作成し、Blazorサーバーアプリのタイプを選択します。Visual Studioは、PDF生成に.NETを使用できるサーバーサイドBlazorアプリケーションを構築するためのテンプレートを提供します。 Blazor Serverホスティングモデルは、アプリケーションロジックをサーバー上で実行するため、サーバーサイド処理を必要とするPDF生成シナリオに適しています。

Blazor Server Appとその他のBlazorプロジェクトテンプレートを説明とともに表示するVisual Studioのプロジェクト作成ダイアログ

Blazorサーバーアプリの前提条件は何ですか?

IronPDFでBlazorサーバーアプリケーションを作成する前に、Visual Studio 2022以降がASP.NETとウェブ開発ワークロードと共にインストールされていることを確認してください。 .NET 6 SDK以上が必要です。 Blazor Serverアプリはサーバーへの常時接続を必要とするため、複雑なHTMLコンテンツからPDFを生成する必要がある場合や、サーバーに残すべき機密データを扱う場合に適しています。

ど for .NETバージョンを使うべきですか?

Blazor ServerアプリケーションでのIronPDFの互換性とパフォーマンスのために、.NET 6以上を使用してください。 IronPDF は .NET Core 3.1, .NET 5, .NET 6, .NET 7, .NET 8 と互換性があります。最新のLTSバージョン(.NET 6または.NET 8)は安定性と長期サポートを提供します。 Azureにデプロイする場合は、Azure App Serviceプランが選択した.NETバージョンをサポートしていることを確認してください。

プロジェクトの設定はどのようにすればよいですか?

Blazor Serverプロジェクトを設定する際、クライアントとサーバー間の安全な通信を確保するため、"Configure for HTTPS "を選択してください。 DockerでIronPDFを実行する予定がない限り、"Enable Docker "のチェックは外したままにしてください。 認証については、最初は"なし"を選択してください。 プロジェクト名はC#の命名規則に従い、スペースや特殊文字は避けてください。

BlazorプロジェクトにIronPDFをインストールするには?

プロジェクトを作成した後、以下の手順に従ってIronPDF library from NuGetをVisual Studioにインストールしてください。 IronPDFはHTML文字列、URL、既存のPDFドキュメントからPDFを作成するためのAPIを提供します。

  1. Visual StudioのソリューションエクスプローラーウィンドウでManage NuGet Packagesを選択します。
  2. ブラウズを選択し、IronPdfを検索します。
  3. パッケージの最新バージョンを選択し、プロジェクトのチェックボックスを確認してインストールをクリックします。

または、.NET CLIを使用してインストールできます:

PM > Install-Package IronPdf

特定のプラットフォームをターゲットとするプロジェクトでは、プラットフォーム固有のパッケージが必要になる場合があります。 たとえば、Linuxにデプロイする場合は、Linuxインストールガイドを確認してください。

なぜ CLI よりも NuGet Package Manager を選ぶのですか?

Visual StudioのNuGet Package Manager GUIは、パッケージバージョンの参照、依存関係の表示、複数のプロジェクトの同時管理を容易にするビジュアルインターフェイスを提供します。 IronPDFを初めて使う開発者が、利用可能なパッケージとその説明を調べるのに役立ちます。 CLIアプローチは、経験豊富な開発者にとってより速く、自動化されたビルドパイプラインやDockerコンテナで作業する場合に適しています。

どのバージョンのIronPDFをインストールすべきですか?

IronPDFの最新安定版をインストールすることで、新機能、パフォーマンス向上、セキュリティアップデートにアクセスできます。 最近のアップデートの詳細については、更新履歴を確認してください。 既存のプロジェクトで作業している場合は、他の依存関係とのバージョンの互換性を確認してください。 本番環境では、メジャーバージョンをアップグレードする前に十分にテストしてください。

インストールが成功したことを確認するにはどうすればよいですか?

インストール後、ソリューションエクスプローラーの "Packages "フォルダを確認し、IronPDFが正しくインストールされていることを確認してください。 プロジェクトの依存関係の中に "IronPDF" が表示されるはずです。 C#ファイルにusing IronPdf;を追加してください - IntelliSenseが名前空間を認識するはずです。 また、HTMLから基本的なPDFを作成して簡単なテストを実行し、すべてが正しく動作することを確認することもできます。

私のお気に入りのこの種のライブラリはIronPDFです。PDFファイルの迅速で効率的な操作が可能です。また、PDF/A形式へのエクスポートやPDF文書へのデジタル署名といった多くの貴重な機能も備えています。

Milan Jovanovic

Microsoft MVP

ケーススタディを見る

IronOCRのおかげで私たちは年間$40,000を手作業の処理から節約し、生産性を向上させ、高影響のタスクにリソースを充てることができます。非常にお勧めします。

Brent Matzelle

最高技術責任者, OPYN

ケーススタディを見る

IronSuiteは私たちの業務において重要な役割を果たしています。これらは、フロアプランの作成や在庫管理の改善を含め、ビジネス全体の効率を向上させるツールです。

David Jones

リードソフトウェアエンジニア、Agorus Build

ケーススタディを見る

PDF生成用の新しいRazorコンポーネントを追加するには?

IronPDFをBlazorプロジェクトにインストールしたら、新しいRazorコンポーネントを追加してください。 このチュートリアルのためにそれにIronPdfComponentと名前を付けてください。 このコンポーネントは、ユーザー入力を処理し、HTMLコンテンツに基づいて動的にPDFを生成します。 Blazorのコンポーネントアーキテクチャにより、アプリケーション全体で共有できる再利用可能なPDF生成機能を簡単に作成することができます。

Razor Componentが選択され、IronPDFComponentがファイル名として入力されたVisual StudioのAdd New Itemダイアログ

その後、コードを以下のように更新します:

@page "/IronPdf"
@inject IJSRuntime JS

<h3>IronPdfComponent</h3>

<EditForm Model="@_InputMsgModel" id="inputText">
  <div>
    <InputTextArea @bind-Value="@_InputMsgModel.HTML" rows="20" />
  </div>
  <div>
    <button type="button" @onclick="@SubmitHTML">Render HTML</button>
  </div>
</EditForm>
HTML
@code {

    // Model to bind user input
    private InputHTMLModel _InputMsgModel = new InputHTMLModel();

    private async Task SubmitHTML()
    {
        // Set your IronPDF license key
        IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

        // Create a renderer to convert HTML to PDF
        var render = new IronPdf.ChromePdfRenderer();

        // Configure rendering options for better output
        render.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
        render.RenderingOptions.MarginTop = 40;
        render.RenderingOptions.MarginBottom = 40;

        // Render the HTML input into a PDF document
        var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);

        var fileName = "iron.pdf";

        // Create a stream reference for the PDF content
        using var streamRef = new DotNetStreamReference(stream: doc.Stream);

        // Invoke JavaScript function to download the PDF in the browser
        await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);
    }

    public class InputHTMLModel
    {
        public string HTML { get; set; } = @"<h1>Welcome to IronPDF</h1>
            <p>This is a sample PDF generated from HTML content in Blazor Server.</p>
            <ul>
                <li>Easy to use API</li>
                <li>High-quality rendering</li>
                <li>Full HTML5 and CSS3 support</li>
            </ul>";
    }
}

このコンポーネントは、PDF生成にChromePdfRendererクラスを使用します。 カスタム用紙サイズ、余白、ヘッダー/フッターなど、さまざまなオプションでレンダリングをカスタマイズできます。

こ for JavaScriptコードを_layout.cshtmlに追加して、BlazorアプリケーションでIronPDFによってレンダリングされたPDFのダウンロードを許可します:

<script>
    // JavaScript function to download PDFs generated by IronPdf
    window.SubmitHTML = async (fileName, contentStreamReference) => {
        // Get the PDF content as an ArrayBuffer
        const arrayBuffer = await contentStreamReference.arrayBuffer();

        // Create a Blob from the ArrayBuffer
        const blob = new Blob([arrayBuffer]);

        // Create an object URL for the Blob
        const url = URL.createObjectURL(blob);

        // Create an anchor element to initiate the download
        const anchorElement = document.createElement("a");
        anchorElement.href = url;
        anchorElement.download = fileName ?? "download.pdf";
        
        // Programmatically click the anchor to start the download
        anchorElement.click();

        // Clean up by removing the anchor and revoking the object URL
        anchorElement.remove();
        URL.revokeObjectURL(url);
    };
</script>
JavaScript

共有フォルダ内のNavMenu.razorファイルを編集し、新しいRazorコンポーネントへのナビゲーションタブを追加してください。 以下のコードを追加してください:

<div class="nav-item px-3">
    <NavLink class="nav-link" href="IronPdf">
        <span class="oi oi-list-rich" aria-hidden="true"></span> IronPdf
    </NavLink>
</div>
HTML

これがすべて適用されたら、ソリューションを実行し、このように表示されるはずです:

IronPDFコンポーネントを使用したBlazorアプリ、メインコンテンツエリアにHTML入力テキストエリアとHTMLレンダリングボタンを表示

なぜBlazorでPDFダウンロードにJavaScriptを使うのですか?

Blazor Server は SignalR 接続で動作し、すべての C# コードはサーバー上で実行されます。 ファイルダウンロードのようなブラウザ固有のアクションをトリガーするには、JavaScriptの相互運用が必要です。 DotNetStreamReferenceクラスは、PDF全体をメモリに一度に読み込むことなく、バイナリデータをサーバーからクライアントに転送します。 このアプローチは、base64エンコーディングよりも効率的で、大きなPDFにも有効です。 別のアプローチとしては、PDFをメモリストリームにエクスポートするを検討してください。

PDFダウンロードを実装する際によくある問題とは

一般的な課題としては、SignalR接続がタイムアウトする可能性のある大容量ファイルの処理、並行するPDF生成リクエストの管理、リソースの適切な廃棄などがあります。 メモリリークを避けるために、PDFドキュメントおよびMemoryStreamsを適切に破棄してください。 より良いパフォーマンスのために、asyncPDF生成の実装を検討してください。 レンダリングの問題が発生した場合は、レンダリング オプション ドキュメントで設定のヒントを確認してください。

大きなPDFファイルをどのように扱えばよいですか?

大きなPDFの場合は、進捗インジケータとチャンクダウンロードの実装を検討してください。 圧縮技術を使ってPDFサイズを最適化することができます。 Blazor サーバー設定で適切なタイムアウトを設定してください:

services.AddServerSideBlazor()
    .AddHubOptions(options =>
    {
        options.MaximumReceiveMessageSize = 10 * 1024 * 1024; // 10MB
        options.ClientTimeoutInterval = TimeSpan.FromSeconds(60);
    });

非常に大きなドキュメントの場合、最初にサーバーストレージに保存し、直接ストリーミングする代わりにダウンロードリンクを提供することを検討してください。

ストリーム参照と直接ダウンロードはいつ使い分けるべきですか?

即時のダウンロードが必要な50MB未満のPDFにはDotNetStreamReferenceを使用してください。 ファイルサイズが大きい場合や、PDFをディスクに保存する必要がある場合は、サーバー上でPDFを生成し、ダウンロードリンクを提供することを検討してください。 レポートや請求書は直接ダウンロードするのが効果的ですが、バッチ処理や複数のPDFをマージするにはサーバーサイドのストレージが有効です。 アプローチを選択する際には、アプリケーションのメモリ制約とユーザーエクスペリエンスの要件を考慮してください。

よくある質問

PDF 生成用の Blazor Server プロジェクトを新規作成するには?

IronPDFでBlazor Serverプロジェクトを作成するには、Visual Studioでプロジェクトの種類として'Blazor Server App'を選択します。Blazor Serverホスティングモデルはサーバー上でアプリケーションロジックを実行するため、IronPDFでサーバーサイド処理を必要とするPDF生成シナリオに最適です。

Blazor ServerアプリをPDF生成で使用するための前提条件は何ですか?

ASP.NETおよびWeb開発ワークロードを搭載したVisual Studio 2022以降と、.NET 6 SDK以降が必要です。Blazor Serverアプリは常時サーバー接続を必要とするため、IronPDFを使用して複雑なHTMLコンテンツからPDFを生成する場合や、サーバーに残すべき機密データを扱う場合に適しています。

BlazorでのPDF生成には、ど for .NETバージョンを使うべきですか?

Blazor ServerアプリケーションでIronPDFの互換性とパフォーマンスを最適化するには、.NET 6以上を使用してください。IronPDFは.NET Core 3.1, .NET 5, .NET 6, .NET 7, .NET 8をサポートしています。最新のLTSバージョン(.NET 6または.NET 8)は安定性と長期サポートを提供します。

Blazor PDFアプリケーションのプロジェクト設定はどのように行うのですか?

IronPDF用にBlazor Serverプロジェクトを設定する際、安全な通信のために'Configure for HTTPS'を選択してください。DockerコンテナでIronPDFを実行する予定がない限り、'Enable Docker'のチェックは外したままにしてください。認証は'None'から始めてください。スペースや特殊文字を使用せず、適切なC#命名規則を使用してください。

Blazor ServerでHTMLからPDFを素早く生成するには?

IronPDFはBlazor ServerでHTMLをPDFに変換するシンプルなワンラインソリューションを提供します:IronPdf.HtmlToPdf.RenderHtmlAsPdf(htmlContent).SaveAs(outputPath).これにより、最小限のコードでBlazorコンポーネントをPDFに変換することができます。

Blazor で PDF 生成を実装するための最小限のワークフローを教えてください。

最小限のワークフローは5つのステップで構成されています:1) HTML-to-PDFライブラリIronPDFをインストール、2) Visual Studioで新しいBlazorプロジェクトを作成、3) URLによるウェブページをIronPDFを使ってPDFドキュメントに変換、4) ウェブページをクライアントのウェブブラウザにレンダリング、5) HTML文字列から生成されたPDFドキュメントを表示。

Why is JavaScript necessary for PDF downloads in Blazor applications using IronPDF?

In Blazor Server, C# code executes on the server, requiring JavaScript interop to handle client-side functionalities like file downloads. The `DotNetStreamReference` class facilitates efficient PDF transmission from server to client, avoiding large memory usage.

What should I consider when handling large PDFs using IronPDF in Blazor applications?

When managing large PDFs, utilize progress indicators and chunked downloads. Optimize PDF size through compression and configure appropriate server settings to manage the maximum message size and timeouts, ensuring efficient handling of large documents.

Curtis Chau
テクニカルライター

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

...
詳しく読む

準備はできましたか?

Nuget Downloads 21,105,021バージョン: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% ロック解除済み。クレジットカード不要。

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

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

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料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から