IronPDF ハウツー Blazor ServerをPDFにレンダリングする IronPDF Blazorサーバーチュートリアル:C#でHTMLをPDFにレンダリングする カーティス・チャウ 更新日:2026年1月10日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English IronPdfは.NET 6をサポートし、Blazorコンポーネントから直接PDF生成機能を提供し、最小限のセットアップでC#を使用したBlazor ServerアプリケーションのHTMLからPDFへの変換を可能にします。 クイックスタート: Blazor Server で PDF をレンダリングする Blazor ServerアプリケーションでIronPDFを使い始めましょう。 この例では、HTMLコンテンツをPDFにレンダリングする方法を示します。 数行のコードでBlazorコンポーネントをPDFに変換します。 IronPDF をNuGetパッケージマネージャでインストール PM > Install-Package IronPdf このコード スニペットをコピーして実行します。 IronPdf.HtmlToPdf.RenderHtmlAsPdf(htmlContent).SaveAs(outputPath); 実際の環境でテストするためにデプロイする 今日プロジェクトで IronPDF を使い始めましょう無料トライアル Free 30 Day Trial 最小限のワークフロー(5ステップ) Blazorアプリケーション用HTML-to-PDFライブラリをインストールする。 Visual Studioで新しいBlazorプロジェクトを作成してください。 URLからウェブページをPDFドキュメントに変換する クライアントのウェブブラウザにウェブページをレンダリングする HTML文字列からPDFドキュメントを表示する 新しい Blazor Server プロジェクトを作成するには? 新しいプロジェクトを作成し、Blazorサーバーアプリのタイプを選択します。Visual Studioは、PDF生成に.NETを使用できるサーバーサイドBlazorアプリケーションを構築するためのテンプレートを提供します。 Blazor Serverホスティングモデルは、アプリケーションロジックをサーバー上で実行するため、サーバーサイド処理を必要とするPDF生成シナリオに適しています。 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を提供します。 Visual Studio のソリューション エクスプローラー ウィンドウで、References を右クリックし、Manage NuGet Packages を選択します。 [参照] を選択し、IronPdf を検索します。 パッケージの最新バージョンを選択し、プロジェクトのチェックボックスを確認してインストールをクリックします。 または、.NET CLIを使用してインストールできます: 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を作成して簡単なテストを実行し、すべてが正しく動作することを確認することもできます。 PDF生成用の新しいRazorコンポーネントを追加するには? IronPdfをBlazorプロジェクトにインストールしたら、新しいRazorコンポーネントを追加してください。 このチュートリアルでは "IronPdfComponent "と名付けてください。 このコンポーネントは、ユーザー入力を処理し、HTMLコンテンツに基づいて動的にPDFを生成します。 Blazorのコンポーネントアーキテクチャにより、アプリケーション全体で共有できる再利用可能なPDF生成機能を簡単に作成することができます。 その後、コードを以下のように更新します: @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> @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>"; } } @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>"; } } $vbLabelText $csharpLabel このコンポーネントは、PDF生成にChromePdfRendererクラスを使用します。 カスタム用紙サイズ、余白、ヘッダー/フッターなど、さまざまなオプションでレンダリングをカスタマイズできます。 BlazorアプリケーションでIronPDFによってレンダリングされた PDF のダウンロードを許可するには、次 for JavaScriptコードを _layout.cshtml に追加します。 <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> <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 Shared フォルダー内の 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> <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 これがすべて適用されたら、ソリューションを実行し、このように表示されるはずです: なぜBlazorでPDFダウンロードにJavaScriptを使うのですか? Blazor Server は SignalR 接続で動作し、すべての C# コードはサーバー上で実行されます。 ファイルダウンロードのようなブラウザ固有のアクションをトリガーするには、JavaScriptの相互運用が必要です。 DotNetStreamReference クラスは、PDF 全体を一度にメモリにロードせずに、バイナリ データをサーバーからクライアントに転送します。 このアプローチは、base64エンコーディングよりも効率的で、大きなPDFにも有効です。 別のアプローチとしては、PDFをメモリストリームにエクスポートするを検討してください。 PDFダウンロードを実装する際によくある問題とは 一般的な課題としては、SignalR接続がタイムアウトする可能性のある大容量ファイルの処理、並行するPDF生成リクエストの管理、リソースの適切な廃棄などがあります。 メモリリークを避けるため、PDF文書とストリームは常に適切に破棄してください。 より良いパフォーマンスのために、asyncPDF生成の実装を検討してください。 レンダリングの問題が発生した場合は、レンダリング オプション ドキュメントで設定のヒントを確認してください。 大きなPDFファイルをどのように扱えばよいですか? 大きなPDFの場合は、進捗インジケータとチャンクダウンロードの実装を検討してください。 圧縮技術を使ってPDFサイズを最適化することができます。 Blazor サーバー設定で適切なタイムアウトを設定してください: services.AddServerSideBlazor() .AddHubOptions(options => { options.MaximumReceiveMessageSize = 10 * 1024 * 1024; // 10MB options.ClientTimeoutInterval = TimeSpan.FromSeconds(60); }); services.AddServerSideBlazor() .AddHubOptions(options => { options.MaximumReceiveMessageSize = 10 * 1024 * 1024; // 10MB options.ClientTimeoutInterval = TimeSpan.FromSeconds(60); }); $vbLabelText $csharpLabel 非常に大きなドキュメントの場合、最初にサーバーストレージに保存し、直接ストリーミングする代わりにダウンロードリンクを提供することを検討してください。 ストリーム参照と直接ダウンロードはいつ使い分けるべきですか? すぐにダウンロードする必要がある 50 MB 未満の 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ドキュメントを表示。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はできましたか? Nuget ダウンロード 17,803,474 | バージョン: 2026.3 リリース 無料トライアル NuGet 無料版 総ダウンロード数: 17,803,474 ライセンスを見る まだスクロールしていますか? すぐに証拠が欲しいですか? PM > Install-Package IronPdf サンプルを実行するHTML が PDF に変換されるのを確認します。 NuGet 無料版 総ダウンロード数: 17,803,474 ライセンスを見る