IRONPDFの使用 ASP で PDF を即座に作成: .NET Core での動的な PDF 生成 カーティス・チャウ 更新日:2026年1月21日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る IronPDFを使用して HTML コンテンツをプロフェッショナルな PDF ドキュメントに即座に変換し、サーバー側のストレージなしでユーザーに直接ストリーミングすることで、ASP.NET Core で PDF を動的に作成します。 ASP.NET Coreで最新の Web アプリケーションを構築する場合、 PDF ドキュメントを動的に生成する機能が不可欠です。 請求書、レポート、証明書などを作成する場合、ユーザーはサーバー側のストレージなしでPDF ファイルがすぐに生成されることを期待しています。 IronPDF の効率的なPDF ライブラリを使用すると、 .NET Core プロジェクト内で直接 PDF を簡単に作成できます。 この記事では、 HTML から PDF への変換機能とメモリ ストリーム操作を使用して、 ASP.NET アプリケーションでPDF ドキュメントを作成する手順について説明します。 オンザフライで PDF を作成するとはどういう意味ですか? PDF をオンザフライで作成するということは、PDF ドキュメントをメモリ内に動的に生成し、ユーザーのブラウザに直接ストリーミングすることを意味します。 このサーバー側のプロセスにより、 PDF ファイルをディスクに保存する必要がなくなり、パフォーマンスとセキュリティの両方が向上します。 IronPDF の SDK を使用すると、 HTML コンテンツをプロフェッショナルなPDF ドキュメントに瞬時に変換できます。これは、サーバー上にファイルを保存せずにPDF を作成する必要があるWeb アプリケーションに最適です。 Chrome レンダリング エンジンにより、 HTML デザインと完全に一致するピクセルパーフェクトな出力が保証されます。 今IronPDFを始めましょう。 無料で始める 動的な PDF ファイル生成のために IronPDF をどのように設定しますか? まず、 NuGet パッケージ マネージャーを使用して IronPDF をインストールし、この効果的なPDF ライブラリをASP.NET Core プロジェクトに追加します。 Install-Package IronPdf 次に、ASP.NET Core アプリケーションで IronPDF を構成して、 PDF ファイルを動的に作成します。 using IronPdf; using Microsoft.AspNetCore.Mvc; namespace PdfGenerator.Controllers { public class DocumentController : Controller { private readonly ChromePdfRenderer _renderer; public DocumentController() { // Initialize the renderer once for reuse _renderer = new ChromePdfRenderer(); // Optional: Set your license key License.LicenseKey = "YOUR-LICENSE-KEY"; } } } using IronPdf; using Microsoft.AspNetCore.Mvc; namespace PdfGenerator.Controllers { public class DocumentController : Controller { private readonly ChromePdfRenderer _renderer; public DocumentController() { // Initialize the renderer once for reuse _renderer = new ChromePdfRenderer(); // Optional: Set your license key License.LicenseKey = "YOUR-LICENSE-KEY"; } } } $vbLabelText $csharpLabel このセットアップは、Chromium を使用してHTML を PDF ドキュメントに変換するIronPDF の効率的なレンダリング エンジンであるChromePdfRenderer を初期化します。 単一のレンダラー インスタンスを作成することで、PDF を繰り返し作成するときのメモリ使用量が改善されます。 JavaScript レンダリング、 CSS サポート、カスタム フォントなどの高度なテクニックについては、 HTML から PDF への変換の詳細をご覧ください。 ライセンス キーの構成については、ライセンス ガイドをご覧ください。 HTML コンテンツから PDF ドキュメントを作成するにはどうすればよいでしょうか? PDF ファイルを作成するためのコア機能は、 HTML 文字列をPDF ドキュメントに変換することです。 以下に、請求書を即座に生成する方法を示す完全な例を示します。 [HttpGet] public IActionResult GenerateInvoice(int orderId) { // Fetch data from your database or service var orderData = GetOrderData(orderId); // Build HTML content with dynamic data string htmlContent = $@" <!DOCTYPE html> <html> <head> <style> body {{ font-family: Arial, sans-serif; }} .header {{ background-color: #f0f0f0; padding: 20px; }} table {{ width: 100%; border-collapse: collapse; }} td, th {{ padding: 10px; border: 1px solid #ddd; }} </style> </head> <body> <div class='header'> <h1>Invoice #{orderData.InvoiceNumber}</h1> <p>Date: {DateTime.Now:yyyy-MM-dd}</p> </div> <table> <tr> <th>Item</th> <th>Quantity</th> <th>Price</th> </tr>"; foreach(var item in orderData.Items) { htmlContent += $@" <tr> <td>{item.Name}</td> <td>{item.Quantity}</td> <td>${item.Price:F2}</td> </tr>"; } htmlContent += @" </table> </body> </html>"; // Create PDF from HTML var pdf = _renderer.RenderHtmlAsPdf(htmlContent); // Convert to byte array for streaming byte[] pdfBytes = pdf.BinaryData; // Return PDF to browser return File(pdfBytes, "application/pdf", $"invoice_{orderId}.pdf"); } [HttpGet] public IActionResult GenerateInvoice(int orderId) { // Fetch data from your database or service var orderData = GetOrderData(orderId); // Build HTML content with dynamic data string htmlContent = $@" <!DOCTYPE html> <html> <head> <style> body {{ font-family: Arial, sans-serif; }} .header {{ background-color: #f0f0f0; padding: 20px; }} table {{ width: 100%; border-collapse: collapse; }} td, th {{ padding: 10px; border: 1px solid #ddd; }} </style> </head> <body> <div class='header'> <h1>Invoice #{orderData.InvoiceNumber}</h1> <p>Date: {DateTime.Now:yyyy-MM-dd}</p> </div> <table> <tr> <th>Item</th> <th>Quantity</th> <th>Price</th> </tr>"; foreach(var item in orderData.Items) { htmlContent += $@" <tr> <td>{item.Name}</td> <td>{item.Quantity}</td> <td>${item.Price:F2}</td> </tr>"; } htmlContent += @" </table> </body> </html>"; // Create PDF from HTML var pdf = _renderer.RenderHtmlAsPdf(htmlContent); // Convert to byte array for streaming byte[] pdfBytes = pdf.BinaryData; // Return PDF to browser return File(pdfBytes, "application/pdf", $"invoice_{orderId}.pdf"); } $vbLabelText $csharpLabel このコードは、HTML ページ テンプレートとリアルタイム データを組み合わせて動的なPDF ファイルを生成する方法を示しています。 RenderHtmlAsPdf メソッドは、 CSS スタイルを含む HTML コンテンツを処理し、ダウンロード可能なプロフェッショナルなドキュメントを生成します。 このメソッドは、複雑なレイアウト、画像、さらにはJavaScript の実行もサポートします。 出力は新しいタブで表示できます。 より高度な機能については、カスタム ページ サイズ、ヘッダーとフッター、透かしなどを参照してください。 生成された請求書 PDF はどのようになりますか? ! 2025年11月13日の請求書番号123を示すプロフェッショナルなPDF請求書。スタイル設定されたヘッダーセクション、製品A($10.99)と製品B($5.49)を含む整理されたテーブル、カスタムCSSスタイルによる動的なPDF生成機能のデモ。 PDF ファイルをディスクに保存せずにユーザーに直接ストリーミングするにはどうすればよいですか? PDF をオンザフライでストリーミングするには、メモリ ストリームとバイト配列を操作する必要があります。 このアプローチにより、 PDF ドキュメントがサーバーのファイル システムに触れないことが保証されます。これは、クラウド展開やコンテナ化されたアプリケーションにとって非常に重要です。 [HttpPost] public async Task<IActionResult> CreateReport([FromBody] ReportRequest request) { // Generate HTML from request data string html = BuildReportHtml(request); // Create PDF in memory var pdfDocument = _renderer.RenderHtmlAsPdf(html); // Use MemoryStream for efficient streaming using (var memoryStream = new MemoryStream()) { // Write PDF binary data to the memory stream memoryStream.Write(pdfDocument.BinaryData, 0, pdfDocument.BinaryData.Length); // Set response headers for inline display Response.Headers.Add("Content-Disposition", "inline; filename=report.pdf"); // Return FileContentResult with proper content type return new FileContentResult(memoryStream.ToArray(), "application/pdf"); } } [HttpPost] public async Task<IActionResult> CreateReport([FromBody] ReportRequest request) { // Generate HTML from request data string html = BuildReportHtml(request); // Create PDF in memory var pdfDocument = _renderer.RenderHtmlAsPdf(html); // Use MemoryStream for efficient streaming using (var memoryStream = new MemoryStream()) { // Write PDF binary data to the memory stream memoryStream.Write(pdfDocument.BinaryData, 0, pdfDocument.BinaryData.Length); // Set response headers for inline display Response.Headers.Add("Content-Disposition", "inline; filename=report.pdf"); // Return FileContentResult with proper content type return new FileContentResult(memoryStream.ToArray(), "application/pdf"); } } $vbLabelText $csharpLabel メモリベースの PDF 生成はどのように機能しますか? ! HTML テンプレートからレンダリングされたチャート、メトリック、詳細な分析セクションなど、実際のビジネス ドキュメント生成を示すフォーマットされたコンテンツを含む、"月次パフォーマンス レビュー"というタイトルの PDF レポートが生成されました。 バイト配列アプローチを使用すると、PDF を完全にメモリ内に作成できます。 コンテンツ タイプ"application/pdf"はブラウザーにファイルの処理方法を指示し、 Content-Disposition ヘッダーはPDF ファイルがブラウザーで開くか、ダウンロードをトリガーするかを決定します。 PDF から MemoryStream への変換の詳細については、ドキュメントをご覧ください。 ユーザーがリクエストを送信するボタンを押すと、サーバーはこのコードを処理して PDF を動的に生成します。 この手法は、ファイル システムへのアクセスが制限される可能性があるAzure FunctionsおよびAWS Lambda のデプロイメントに特に役立ちます。 今すぐ無料トライアルを開始して、動的な PDF 生成を実装しましょう。 動的なデータベース コンテンツから PDF を生成するにはどうすればよいでしょうか? 実際のASP.NET Core アプリケーションでは、データベース クエリからPDF レポートを作成する必要があることがよくあります。 適切なエラー処理を使用して Entity Framework Core データを使用して PDF を生成する方法は次のとおりです。 [HttpGet("report/monthly")] public async Task<IActionResult> MonthlyReport(int year, int month) { // Query database for report data var reportData = await _context.Transactions .Where(t => t.Date.Year == year && t.Date.Month == month) .GroupBy(t => t.Category) .Select(g => new { Category = g.Key, Total = g.Sum(t => t.Amount), Count = g.Count() }) .ToListAsync(); // Build HTML template with style var htmlTemplate = @"<h2>Monthly Report</h2> <table style='width:100%'>"; foreach(var item in reportData) { htmlTemplate += $"<tr><td>{item.Category}</td>" + $"<td>{item.Count} items</td>" + $"<td>${item.Total:F2}</td></tr>"; } htmlTemplate += "</table>"; // Generate PDF document with settings var pdf = _renderer.RenderHtmlAsPdf(htmlTemplate); // Add metadata to PDF pdf.MetaData.Title = $"Report {month}/{year}"; pdf.MetaData.Author = "Reporting System"; // Stream PDF to user return File(pdf.BinaryData, "application/pdf"); } [HttpGet("report/monthly")] public async Task<IActionResult> MonthlyReport(int year, int month) { // Query database for report data var reportData = await _context.Transactions .Where(t => t.Date.Year == year && t.Date.Month == month) .GroupBy(t => t.Category) .Select(g => new { Category = g.Key, Total = g.Sum(t => t.Amount), Count = g.Count() }) .ToListAsync(); // Build HTML template with style var htmlTemplate = @"<h2>Monthly Report</h2> <table style='width:100%'>"; foreach(var item in reportData) { htmlTemplate += $"<tr><td>{item.Category}</td>" + $"<td>{item.Count} items</td>" + $"<td>${item.Total:F2}</td></tr>"; } htmlTemplate += "</table>"; // Generate PDF document with settings var pdf = _renderer.RenderHtmlAsPdf(htmlTemplate); // Add metadata to PDF pdf.MetaData.Title = $"Report {month}/{year}"; pdf.MetaData.Author = "Reporting System"; // Stream PDF to user return File(pdf.BinaryData, "application/pdf"); } $vbLabelText $csharpLabel このパターンを使用すると、任意のデータ ソースから PDF を作成し、データベース レコードをフォーマットされたドキュメントに即座に変換できます。 HTML テンプレート アプローチを使用すると、レポート レイアウトの維持と変更が容易になります。 より複雑なシナリオでは、既存のドキュメントから PDF を作成することも検討できます。 書式設定を改善するには、 CSS 印刷スタイル、カスタム余白、ページ区切りの使用を検討してください。 Azure Blob Storage からグラフや画像を追加することもできます。 高度な PDF 生成シナリオをどのように処理しますか? より複雑な要件の場合、IronPDF はオンザフライの PDF 生成を改善するための高度な機能を提供します。 [HttpPost("generate/advanced")] public async Task<IActionResult> GenerateAdvancedPdf([FromBody] AdvancedRequest request) { // Configure rendering options _renderer.RenderingOptions = new ChromePdfRenderOptions() { PaperSize = PdfPaperSize.A4, MarginTop = 40, MarginBottom = 40, MarginLeft = 20, MarginRight = 20, EnableJavaScript = true, WaitFor = new WaitFor() { RenderDelay = 500 // Wait for JavaScript execution } }; // Add headers and footers _renderer.RenderingOptions.TextHeader = new TextHeaderFooter() { CenterText = request.DocumentTitle, DrawDividerLine = true, FontSize = 12 }; _renderer.RenderingOptions.TextFooter = new TextHeaderFooter() { LeftText = "{date} {time}", RightText = "Page {page} of {total-pages}", FontSize = 10 }; // Generate PDF with custom settings var pdf = await _renderer.RenderHtmlAsPdfAsync(request.HtmlContent); // Add security if requested if (request.RequirePassword) { pdf.SecuritySettings.OwnerPassword = "admin_password"; pdf.SecuritySettings.UserPassword = request.UserPassword; pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint; pdf.SecuritySettings.AllowUserCopyPasteContent = false; } return File(pdf.BinaryData, "application/pdf", $"{request.FileName}.pdf"); } [HttpPost("generate/advanced")] public async Task<IActionResult> GenerateAdvancedPdf([FromBody] AdvancedRequest request) { // Configure rendering options _renderer.RenderingOptions = new ChromePdfRenderOptions() { PaperSize = PdfPaperSize.A4, MarginTop = 40, MarginBottom = 40, MarginLeft = 20, MarginRight = 20, EnableJavaScript = true, WaitFor = new WaitFor() { RenderDelay = 500 // Wait for JavaScript execution } }; // Add headers and footers _renderer.RenderingOptions.TextHeader = new TextHeaderFooter() { CenterText = request.DocumentTitle, DrawDividerLine = true, FontSize = 12 }; _renderer.RenderingOptions.TextFooter = new TextHeaderFooter() { LeftText = "{date} {time}", RightText = "Page {page} of {total-pages}", FontSize = 10 }; // Generate PDF with custom settings var pdf = await _renderer.RenderHtmlAsPdfAsync(request.HtmlContent); // Add security if requested if (request.RequirePassword) { pdf.SecuritySettings.OwnerPassword = "admin_password"; pdf.SecuritySettings.UserPassword = request.UserPassword; pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint; pdf.SecuritySettings.AllowUserCopyPasteContent = false; } return File(pdf.BinaryData, "application/pdf", $"{request.FileName}.pdf"); } $vbLabelText $csharpLabel この例では、レンダリング オプション、ページ番号、セキュリティ設定、および非同期操作を示します。 デジタル署名、 PDF/A 準拠、圧縮、透かしを実装することもできます。 マルチスレッドのシナリオでは、IronPDF はスレッドセーフな操作を提供します。 オンザフライ PDF 生成のベストプラクティスは何ですか? ASP.NET CoreでPDF ファイルを動的に作成する場合は、次の最適化戦略を検討してください。 非同期操作:複数の PDF を生成するときにサーバーのスレッド プールがブロックされないようにするには、非同期メソッドを使用します。 var pdfTask = _renderer.RenderHtmlAsPdfAsync(htmlContent); var pdf = await pdfTask; var pdfTask = _renderer.RenderHtmlAsPdfAsync(htmlContent); var pdf = await pdfTask; $vbLabelText $csharpLabel メモリ管理:大きなPDF ファイルの場合、リソースを適切に処分し、メモリ使用量を最小限に抑えるために応答に直接ストリーミングすることを検討してください。 using (var pdf = _renderer.RenderHtmlAsPdf(html)) { return File(pdf.Stream, "application/pdf"); } using (var pdf = _renderer.RenderHtmlAsPdf(html)) { return File(pdf.Stream, "application/pdf"); } $vbLabelText $csharpLabel レンダラーの再利用: リクエスト間でChromePdfRendererインスタンスを共有して、複数の PDF を生成する際のパフォーマンスを向上させます。 レンダラーはスレッドセーフであり、同時操作を効率的に処理します。 レンダラーを再利用すると、リクエストごとの初期化時間を節約できます。パフォーマンスを監視し、問題をトラブルシューティングするために、カスタムログの実装を検討してください。 Microsoft の ASP.NET Core ベスト プラクティスによれば、オブジェクトの割り当てを最小限に抑え、リソースを再利用することが、高パフォーマンスの Web アプリケーションを実現する鍵となります。 デプロイメントについては、 Azure 、 AWS 、 Docker 、 Linux環境のガイドをご覧ください。 レンダリング時間を短縮するためにキャッシュ戦略を実装することもできます。 購入の準備ができていませんか? PM > Install-Package IronPdf IronPDF を NuGet でチェックしてください。1000万回以上のダウンロードで、C#によるPDF開発を変革しています。 DLL または Windowsインストーラー をダウンロードすることもできます。 オンザフライで PDF を作成する方法について何を学びましたか? IronPDF を使用してPDF ドキュメントを即座に作成すると、複雑なドキュメント生成が簡単なコードに変換されます。 シンプルな請求書から複雑なレポートまで、IronPDF の効果的な SDK が面倒な作業を処理してくれるので、ユーザーはアプリケーション ロジックに集中できます。 ディスクに保存せずに PDF を生成してストリーミングできるため、ASP.NET Core アプリケーションの効率とセキュリティが向上します。 IronPDF を使用すると、 HTML コンテンツからPDF を作成し、それをバイト配列としてストリーミングし、プロフェッショナルなドキュメントをユーザーに即座に配信できます。 レポート システム、請求書生成ツール、ドキュメント管理ソリューションを構築する場合でも、IronPDF は信頼性の高い PDF 生成を実装するために必要なすべての機能を提供します。 必要に応じてサポートを受けることもできます。 PDF フォーム、注釈、ブックマーク、メタデータ、アクセシビリティのためのPDF/UA 準拠などの追加機能を調べてください。 動的 PDF 機能を使用してASP.NET Core アプリケーションを変換する準備はできていますか? ライセンスを購入すると、すべての機能を利用することができ、当社のエンジニアリング チームから専門的なサポートを受けることができます。 VB.NET 開発者、 F# 開発者、 MAUIまたはBlazorを使用する開発者向けに、完全なプラットフォーム サポートを提供します。 詳細なドキュメントについてはAPI リファレンスを確認し、競合他社との比較を調べて、開発者が IronPDF を選択する理由を確認してください。 よくある質問 ASP.NET Core で PDF を動的に生成するにはどうすればよいですか? IronPDF を使用すると、ファイルをディスクに保存することなく、ASP.NET Core 内で動的に PDF を生成できます。これにより、PDF をブラウザに直接ストリーミングできます。 PDF生成にIronPDFを使用する利点は何ですか? IronPDF は、.NET Core プロジェクト内で直接動的な PDF 作成を可能にする強力なレンダリング エンジンを提供し、サーバー側のストレージを必要とせずに PDF を即座に生成します。 IronPDF を使用して請求書やレポートを作成できますか? はい、IronPDF は、請求書、レポート、証明書など、ASP.NET Core アプリケーションでオンザフライで生成されるさまざまな種類のドキュメントの作成に適しています。 IronPDF を使用する場合、サーバー側のストレージは必要ですか? いいえ、IronPDF を使用すると、サーバー側のストレージを必要とせずに PDF を生成してブラウザーに直接ストリーミングできるため、効率的かつ高速になります。 オンザフライ PDF 生成のメリットを享受できるアプリケーションにはどのようなものがありますか? 最新のWebアプリケーション、特にリアルタイムのドキュメント作成を必要とするアプリは、IronPDFのオンザフライPDF生成から大きなメリットを得られます。 IronPDF は .NET Core プロジェクトをサポートしていますか? はい、IronPDF は .NET Core プロジェクトと完全に互換性があるため、開発者は PDF 生成機能をアプリケーションにシームレスに統合できます。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 2026年1月22日 .NETでIronPDFを使ってPDFドキュメントを作成する方法:完全ガイド C#で開発者向けにPDFファイルを作成する効果的な方法を発見します。コーディングスキルを向上させ、プロジェクトを効率化します。この記事を今すぐお読みください! 詳しく読む 更新日 2026年1月21日 VB.NETでPDFファイルをマージする方法:完全なチュートリアル IronPDF で PDF をマージします。シンプルな VB.NET コードを使用して、複数の PDF ファイルを1つのドキュメントに結合する方法を学びます。ステップバイステップの例が含まれています。 詳しく読む 更新日 2026年1月21日 C# PDFWriter チュートリアル:.NETでPDFドキュメントを作成する このステップバイステップガイドで開発者がC# PDFWriterを使用してPDFを効率的に作成する方法を学びます。記事を読んでスキルを向上させましょう! 詳しく読む C#を使用してASP.NETでIronPDFを使ってHTMLをPDFに変換する方法IronPDF で Telerik Blazor PDF ビ...
更新日 2026年1月22日 .NETでIronPDFを使ってPDFドキュメントを作成する方法:完全ガイド C#で開発者向けにPDFファイルを作成する効果的な方法を発見します。コーディングスキルを向上させ、プロジェクトを効率化します。この記事を今すぐお読みください! 詳しく読む
更新日 2026年1月21日 VB.NETでPDFファイルをマージする方法:完全なチュートリアル IronPDF で PDF をマージします。シンプルな VB.NET コードを使用して、複数の PDF ファイルを1つのドキュメントに結合する方法を学びます。ステップバイステップの例が含まれています。 詳しく読む
更新日 2026年1月21日 C# PDFWriter チュートリアル:.NETでPDFドキュメントを作成する このステップバイステップガイドで開発者がC# PDFWriterを使用してPDFを効率的に作成する方法を学びます。記事を読んでスキルを向上させましょう! 詳しく読む