ASP.NET Core C#でViewをPDFに変換する方法

C#でASP.NET MVCのビューをPDFに変換する方法

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

IronPDFを使用すると、わずか数行のコードでChromePdfRenderer.RenderView()メソッドを使用してASP.NET MVCビューをPDFドキュメントに変換することができます。 IronPdf.Extensions.Mvc.FrameworkパッケージはASP.NET MVCプロジェクトとシームレスに統合し、CSHTMLビューをPDFとしてレンダリングします。

ビューは、ウェブアプリケーションでHTMLマークアップを生成するために使用されるASP.NETフレームワークのコンポーネントです。 これは、ASP.NET MVCおよびASP.NET Core MVCアプリケーションで一般的に使用されているModel-View-Controller(MVC)パターンの一部です。 ビューは、動的にHTMLコンテンツをレンダリングすることでユーザーにデータを提示する責任を負います。 IronPDFのクロムPDFレンダリングエンジンのパワーは、すべてのスタイル、レイアウト、インタラクティブ要素を維持しながら、ビューがピクセルパーフェクトな精度でレンダリングされることを保証します。

ASP.NET Web アプリケーション (.NET Framework) MVC は、Microsoft が提供する Web アプリケーションフレームワークです。 これは、モデル-ビュー-コントローラー (MVC) として知られる構造化されたアーキテクチャ パターンに従い、ウェブアプリケーションの開発を整理して効率化します。

  • モデル: データ、ビジネス ロジック、およびデータ整合性を管理します。
  • ビュー: ユーザーインターフェイスを提示し、情報をレンダリングします。
  • コントローラ: ユーザーの入力を処理し、リクエストを処理し、モデルとビュー間のインタラクションを編成します。

IronPDF は、ASP.NET MVC プロジェクト内でビューから PDF ファイルを作成するプロセスを簡素化します。 これにより、ASP.NET MVC での PDF 生成が簡単かつ直接的になります。 IronPDFは請求書やレポート、あるいはウェブビューからあらゆるドキュメントを生成する場合でも、プロフェッショナルなPDF出力に必要なツールを提供します。 包括的なセットアップガイドについては、インストールの概要ページをご覧ください。

見出し:2 (クイックスタート: ASP.NET MVC Viewを簡単にPDFに変換する)

IronPDF を使用して、ASP.NET MVC ビューを PDF ドキュメントにすばやく変換する方法を学びましょう。 数行のコードで CSHTML ビューを高品質なPDFにレンダリングし、アプリケーションの機能を強化できます。 IronPDF はプロセスを簡素化し、すべてのレベルの開発者が利用しやすくしています。 ASP.NET Core プロジェクトに IronPDF を統合し、ビューからPDFを簡単に生成することから始めてください。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronPDF をインストールします

    PM > Install-Package IronPdf

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

    // Install-Package IronPdf.Extensions.Razor
    var pdf = new IronPdf.ChromePdfRenderer.RenderRazorToPdf(this.ControllerContext);
  3. 実際の環境でテストするためにデプロイする

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

どの拡張パッケージが必要ですか?

なぜIronPDFには拡張パッケージが必要なのですか? **IronPdf.Extensions.Mvc.Framework パッケージ** は、**IronPdf** 主パッケージの拡張機能です。 IronPdf.Extensions.Mvc.Framework と IronPdfパッケージの両方が、ASP.NET MVCでPDFドキュメントにビューをレンダリングするために必要です。 この分離により、コアのPDFレンダリング機能を維持しながら、MVCフレームワーク特有の機能を最適化することができます。 ### 拡張パッケージのインストール方法 ```shell :InstallCmd インストール-パッケージ IronPdf.Extensions.Mvc.Framework ```
PDF 用 C# NuGet ライブラリ.

Install with NuGet

インストール-パッケージ IronPdf.Extensions.Mvc.Framework
## ビューを PDF にレンダリングするには? ### どのようなプロジェクトタイプが必要ですか? Views を PDF ファイルに変換するには、ASP.NET Web アプリケーション (.NET Framework) MVC プロジェクトが必要です。 IronPDFは様々なMVCバージョンをサポートし、要件に応じてPDF出力をカスタマイズするための広範な[レンダリングオプション](https://ironpdf.com/how-to/rendering-options/)を提供します。 ## モデルクラスを追加するにはどうすればよいですか? ### どこでモデルを作成すればよいですか? - Models "フォルダに移動する - "Person "という名前の新しいC#クラスファイルを作成します。このクラスは、個々のデータを表すモデルとして機能します。 以下のコードを使用してください: ```cs :path=/static-assets/pdf/content-code-examples/how-to/cshtml-to-pdf-mvc-framework-model.cs ``` ## コントローラーを編集するには? ### どのようなコードをコントローラに追加すればよいですか? Controllers "フォルダに移動し、"HomeController "ファイルを開きます。以下のコードを使用して、"Persons "アクションを追加します: 提供されたコードでは、**ChromePdfRenderer** クラスが最初に作成されます。 `RenderView`メソッドを使用するには、HttpContextを提供し、"Persons.cshtml "ファイルへのパスを指定し、必要なデータを含む`List`を提供します。 ビューをレンダリングするとき、**RenderingOptions**を利用して、マージンをカスタマイズし、[カスタムテキストとHTMLヘッダーとフッター](/how-to/headers-and-footers/)を追加し、[ページ番号](/how-to/page-numbers/)を結果のPDFドキュメントに適用することができます。 BRACKET-i-OPEN--以下のコードを使って、PDFドキュメントをマシンにダウンロードすることができます:`File(pdf.BinaryData, "application/pdf", "viewToPdfMVC.pdf")`. ```cs using IronPdf; using System.Collections.Generic; using System.Web.Mvc; using ViewToPdfMVCSample.Models; namespace ViewToPdfMVCSample.Controllers { public class HomeController : Controller { public ActionResult Index() { return View(); } // GET: Person public ActionResult Persons() { // Create a list of Person objects var persons = new List{ new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; if (HttpContext.Request.HttpMethod == "POST") { // Define the path to the View file var viewPath = "~/Views/Home/Persons.cshtml"; // Instantiate the ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the view to a PDF document PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons); // Set headers to view the PDF in-browser Response.Headers.Add("Content-Disposition", "inline"); // Return the generated PDF file return File(pdf.BinaryData, "application/pdf"); } return View(persons); } public ActionResult About() { ViewBag.Message = "Your application description page."; return View(); } public ActionResult Contact() { ViewBag.Message = "Your contact page."; return View(); } } } ``` ### PDFレンダリング オプションをカスタマイズするにはどうすればよいですか? より高度なシナリオでは、さまざまなレンダリングオプションを使用してPDF出力をカスタマイズできます。 以下は、余白、用紙サイズ、その他の設定をカスタマイズした例です: ```cs // Advanced rendering with custom options public ActionResult PersonsAdvanced() { var persons = GetPersonsList(); if (HttpContext.Request.HttpMethod == "POST") { var viewPath = "~/Views/Home/Persons.cshtml"; // Configure the renderer with custom options ChromePdfRenderer renderer = new ChromePdfRenderer(); // Set custom rendering options renderer.RenderingOptions.MarginTop = 40; renderer.RenderingOptions.MarginBottom = 40; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; // Set custom paper size renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait; // Add header and footer renderer.RenderingOptions.TextHeader.DrawDividerLine = true; renderer.RenderingOptions.TextHeader.CenterText = "{pdf-title}"; renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica; renderer.RenderingOptions.TextHeader.FontSize = 12; renderer.RenderingOptions.TextFooter.DrawDividerLine = true; renderer.RenderingOptions.TextFooter.Font = IronPdf.Font.FontTypes.Arial; renderer.RenderingOptions.TextFooter.FontSize = 10; renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"; // Enable JavaScript execution if needed renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.RenderDelay = 500; // Wait for JS to execute // Render the view to PDF PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons); // Optional: Apply compression to reduce file size pdf.CompressImages(60); Response.Headers.Add("Content-Disposition", "inline"); return File(pdf.BinaryData, "application/pdf"); } return View("Persons", persons); } ``` 余白の最適化について詳しくは、[カスタム余白の設定](https://ironpdf.com/how-to/custom-margins/)のガイドをご覧ください。 特定の用紙寸法で作業する必要がある場合は、[カスタム用紙サイズ](https://ironpdf.com/how-to/custom-paper-size/)ドキュメントをご覧ください。 ### 生成されたPDFで何ができますか? `RenderView` メソッドを使用して **PdfDocument** オブジェクトを取得したら、さまざまな改善と調整を加えることができます。 必要に応じて、PDFを[PDFA](/how-to/pdfa/)または[PDFUA](/how-to/pdfua/)形式に変換したり、作成されたPDFに[電子署名](/how-to/signing/)を適用したり、[PDF文書をマージしたり分割したり](/how-to/merge-or-split-pdfs/)することができます。 このライブラリを使用すると、ページを回転させたり、[注釈](/how-to/annotations/)や[しおり](/how-to/bookmarks/)を挿入したり、[PDFファイルに明確な透かし](/tutorials/csharp-edit-pdf-complete-tutorial/#add-a-watermark-to-a-pdf)を入れたりすることができます。 ファイルサイズの最適化については、[鉄PDF圧縮](https://ironpdf.com/how-to/pdf-compression/)テクニックの使用を検討してください。 JavaScriptを多用するコンテンツを扱う場合、[JavaScriptレンダリングガイド](https://ironpdf.com/how-to/javascript-to-pdf/)では、カスタムレンダー遅延の処理に関する詳細な情報を提供しています。 さまざまなエクスポートオプションについては、[PDFドキュメントの保存とエクスポート](https://ironpdf.com/how-to/export-save-pdf-csharp/)の包括的なガイドをご覧ください。 ## どのようにビューを追加しますか? ### どのような手順でビューを作成すればよいですか? - 新しく追加されたPersonアクションを右クリックし、"Add View "を選択します。 [Persons()アクションメソッドを右クリックしたときに"ビューを追加..."オプションを表示するVisual Studioのコンテキストメニュー](/static-assets/pdf/how-to/cshtml-to-pdf-mvc-framework/right-click-on-Persons.webp)。 - 新しいスキャフォールド アイテムには"MVC 5 ビュー"を選択します。 [MVC5ビューテンプレートを選択した状態でのVisual Studioの新規足場アイテムの追加ダイアログ](/static-assets/pdf/how-to/cshtml-to-pdf-mvc-framework/select-scaffold.webp) "Home "フォルダ -> "Persons.cshtml "ファイルに移動します。 "Persons"アクションを呼び出すボタンを追加するには、以下のコードを使用します: ```html @using (Html.BeginForm("Persons", "Home", FormMethod.Post)) { } ``` ## トップナビゲーションバーにセクションを追加するにはどうすればよいですか? ### ナビゲーションのどこを更新すればよいですか? - Views "フォルダで、"Shared "フォルダ -> "_Layout.cshtml "ファイルに移動します。"Home "の後に "Person "ナビゲーションアイテムを配置します。 ActionLinkメソッドの値が、私たちのファイル名("Persons")と正確に一致するようにしてください。 ```html``` ### プロジェクトを実行してテストするには? #### プロジェクトを実行する これは、プロジェクトを実行し、PDFドキュメントを生成する方法を示しています。 Visual Studio showing ASP.NET MVC HomeController with Persons action method and PDF generation code #### 出力PDF## 完全なプロジェクトはどこでダウンロードできますか? ### サンプルプロジェクトには何が含まれますか? このガイドの完全なコードをダウンロードできます。ASP.NET Web Application (.NET Framework) MVCプロジェクトとしてVisual Studioで開くことができるzipファイルとして提供されます。 サンプルには、MVCアプリケーションでPDF生成をすぐに始められるように、必要な構成、モデルクラス、コントローラ、ビューがすべて含まれています。 [PDF 変換用 MVC サンプル プロジェクトをダウンロード](/static-assets/pdf/how-to/cshtml-to-pdf-mvc-framework/ViewToPdfMVCSample.zip)

よくある質問

ASP.NET MVCでCSHTMLビューをPDFに変換する方法を教えてください。

ASP.NETのMVCでIronPDFのChromePdfRenderer.RenderView()メソッドを使ってCSHTMLビューをPDFに変換することができます。IronPdf.Extensions.Mvc.Frameworkパッケージをインストールし、レンダリングメソッドを使用するだけで、数行のコードでビューを高品質なPDFドキュメントに変換できます。

ビューをPDFとしてレンダリングするために必要な最小限のコードは何ですか?

ビューをPDFとしてレンダリングするための最小限のコードは次の通りです: var pdf = new IronPdf.ChromePdfRenderer.RenderRazorToPdf(this.ControllerContext); IronPDFを使ったこの一行のコードで、現在のビューがPDFドキュメントに変換されます。

ASP.NET MVC PDF生成にはどの拡張パッケージが必要ですか。

ASP.NET MVCアプリケーションには、IronPdf.Extensions.Mvc.Frameworkパッケージが必要です。このエクステンションはASP.NET MVCプロジェクトとのシームレスな統合を提供し、IronPdfのメインパッケージと連携してビューからPDFへの変換機能を実現します。

ビューをPDFに変換するために使用されるレンダリングエンジンは何ですか?

IronPDFはChrome PDFレンダリングエンジンを使用しており、ビューをPDFに変換する際にピクセルパーフェクトな精度を保証します。このエンジンは元のCSHTMLビューのスタイル、レイアウト、インタラクティブ要素を最終的なPDF出力で維持します。

MVCビューから請求書やレポートを作成できますか?

IronPDFはMVCビューから請求書やレポート、その他のドキュメントを生成するのに最適です。このライブラリはProfessionalなPDF出力機能を提供し、Webアプリケーションのビューから直接ビジネス文書を作成するのに理想的です。

ビューからPDFへの変換を実装するための基本的な手順は何ですか?

基本的な実装には5つのステップがあります:1) IronPDFライブラリのダウンロードとインストール、2) データのモデルクラスの追加、3) RenderViewメソッドを使用したコントローラアクションの作成、4) MVC 5 View Scaffoldingを使用したビューの追加、5) IronPDFのレンダリングメソッドを使用した変換の実行。

PDF出力は元のビューのスタイルを維持しますか?

IronPDFのChromeレンダリングエンジンは、CSHTMLビューのすべてのCSSスタイル、レイアウト、インタラクティブ要素をPDF出力に保持します。これにより、ピクセルパーフェクトな精度を提供し、元のウェブビューの視覚的整合性を維持します。

カーティス・チャウ
テクニカルライター

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

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 17,012,929 | バージョン: 2025.12 リリース