IRONSOFTWAREHOME

How to Convert Razor Views to PDFs Headlessly in C#

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

RazorビューをPDFに変換するには、C#でRenderHtmlAsPdfメソッドを使用してGUIやブラウザウィンドウを必要とせずにPDFドキュメントを生成します。

ヘッドレス・レンダリングは、グラフィカル・ユーザー・インターフェイスなしでウェブコンテンツを処理します。 IronPdf.Extensions.Razorは便利ですが、ヘッドレスレンダリング機能がありません。 このガイドは、そのギャップを解決します。

cshtmlをHTMLに変換し、その後IronPDFでPDFを生成します。 クイックスタート: Razorビューを数秒で PDF に変換する

IronPDFのヘッドレス変換でRazorビューをPDFに変換します。 IronPdf.HtmlToPdf.StaticRender.RenderHtmlAsPdfを使用してRazorビューからPDFにHTMLをレンダリングします。 このアプローチは、ASP.NET Core環境でもシームレスに機能します。

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

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

    var html = await RazorTemplateEngine.RenderAsync("Views/Template.cshtml", model); 
    new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(html).SaveAs("output.pdf");
    C#
  3. 3実際の環境でテストするためにデプロイする

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

Razor.Templating.Coreをインストールして、ASP.NET Core Web AppsでRazorビューをHTMLに変換します。

# Install the Razor.Templating.Core package using NuGet Package Manager
Install-Package Razor.Templating.Core
SHELL

PDF変換のためにASP.NET Coreプロジェクトをセットアップするにはどうすればよいですか?

View を PDF に変換するには、ASP.NET Core Web App (Model-View-Controller) プロジェクトが必要です。 セットアップには、Visual Studioでのプロジェクトの作成、NuGetパッケージのインストール、プロジェクト構造の構成が含まれます。 同様のテクニックについては、converting CSHTML to PDF in MVC Coreまたはconverting CSHTML to PDF using Razor Pagesを参照してください。

IronPdf.Extensions.Razorの代わりにRazor.Templating.Coreが必要な理由は?

Razor.Templating.Coreは真のヘッドレスレンダリングを提供し、RazorビューをHTMLに変換する際にウェブコンテキストやブラウザウィンドウを必要としません。 バックグラウンドサービス、コンソールアプリケーション、またはUIレス環境に適しています。 IronPdf.Extensions.Razorは機能するためにウェブコンテキストを必要とします。

ヘッドレスPDF生成に最適なプロジェクトタイプは?

ASP.NET Core Web App(Model-View-Controller)プロジェクトは、必要な Razor View インフラストラクチャと柔軟なデプロイオプションを提供します。 このアプローチは、バックグラウンドサービス、Azure Functions、またはコンソールアプリケーションで使用します。 クラウドベースの生成についてはdeploying IronPDF to Azureをご覧ください。

必要な NuGet パッケージはどのようにインストールしますか?

NuGetパッケージマネージャを使用してパッケージをインストールします。 Razor.Templating.Coreが必要です。

// Install via Package Manager Console
Install-Package IronPdf
Install-Package Razor.Templating.Core

// Or add to your .csproj file
// <PackageReference Include="IronPdf" Version="2024.x.x" />
// <PackageReference Include="Razor.Templating.Core" Version="1.x.x" />
SHELL

PDF生成用のRazorビューを作成および設定するには?

  • ホーム"フォルダを右クリックします。 "追加"、"ビューを追加 "の順に選択してください。
  • 空のRazorビューを "Data.cshtml "という名前で作成します。

Visual Studioソリューションエクスプローラーのコンテキストメニューで新しいMVCビューを作成するためのAdd > Viewオプション

どのような HTML コンテンツを Razor ビューに追加すればよいですか?

PDFとしてレンダリングしたいHTMLを追加してください:

<table class="table">
    <tr>
        <th>Name</th>
        <th>Title</th>
        <th>Description</th>
    </tr>
    <tr>
        <td>John Doe</td>
        <td>Software Engineer</td>
        <td>Experienced software engineer specializing in web development.</td>
    </tr>
    <tr>
        <td>Alice Smith</td>
        <td>Project Manager</td>
        <td>Seasoned project manager with expertise in agile methodologies.</td>
    </tr>
    <tr>
        <td>Michael Johnson</td>
        <td>Data Analyst</td>
        <td>Skilled data analyst proficient in statistical analysis and data visualization.</td>
    </tr>
</table>
HTML

複雑なレイアウトの場合は、CSSと印刷スタイルを使用して、完璧なPDFレンダリングを保証してください。 IronPDFは洗練されたドキュメントレイアウトのための最新のCSS3機能をサポートしています。

なぜPDFのデータ表示にテーブルを使うのですか

表は、構造化され、整理された情報を提供し、印刷文書によく翻訳されます。 また、プラットフォーム間で一貫した書式を維持し、PDFフォーマットで読みやすいものでなければなりません。 IronPDFのレンダリングエンジンはテーブルレイアウトをうまく処理し、ボーダー、スペーシング、アライメントを保持します。 高度な書式設定については、カスタムマージンでレイアウトを最適化してください。

PDF出力のための一般的なスタイリングの考慮事項とは

PDF出力には、印刷に特化したCSSメディアクエリ、相対単位の代わりに固定ピクセル値、一貫したレンダリングのための埋め込みフォントを使用してください。 IronPDFはブランドの一貫性を保つためにウェブフォントとアイコンフォントをサポートしています。 複数ページの文書では改ページを考慮し、プロフェッショナルな外観のために適切な余白をとってください。

ヘッドレスPDFレンダリングにProgram.csをどのように設定しますか?

Program.csにこのコードを追加します。 このコードはRenderHtmlAsPdfにHTMLを渡します。 カスタムテキスト、ヘッダー、フッター、余白、ページ番号にはRenderingOptionsを使用します。

app.MapGet("/PrintPdf", async () =>
{
    // Set your IronPDF license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    
    // Enable detailed logging for troubleshooting
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;

    // Render the Razor view to an HTML string
    string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");

    // Create a new instance of ChromePdfRenderer 
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    
    // Configure rendering options for professional output
    renderer.RenderingOptions.PaperSize = IronPdf.PdfPaperSize.A4;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 20;
    renderer.RenderingOptions.MarginRight = 20;
   
    // Render the HTML string as a PDF document
    PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");

    // Return the PDF file as a response
    return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});

どのようなレンダリング オプションを PDF に適用できますか?

IronPDFは幅広いレンダリングオプションを提供します。 ヘッダーとフッターを追加し、カスタム用紙サイズを設定し、ページの向きを制御し、透かしを追加します。 ChromePdfRendererは、PDF生成をカスタマイズするための50以上のプロパティを提供します。

PDF生成中のエラーはどのように処理しますか?

堅牢なPDF生成のためのエラー処理を実装する:

try
{
    var html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");
    return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
}
catch (Exception ex)
{
    // Log the error details
    IronPdf.Logging.Logger.Log($"PDF generation failed: {ex.Message}");
    return Results.Problem("Failed to generate PDF", statusCode: 500);
}

詳細ログはいつ有効にすべきですか?

開発中やトラブルシューティング中に詳細なロギングができるようにします。 IronPDFのロギングはレンダリングに関する洞察を提供し、HTMLの解析、アセットの読み込み、設定の問題を特定するのに役立ちます。 本番環境では、カスタムロギングを使用して、アプリケーションのロギングインフラストラクチャと統合してください。

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

Milan Jovanovic

Microsoft MVP

ケーススタディを見る

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

Brent Matzelle

最高技術責任者, OPYN

ケーススタディを見る

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

David Jones

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

ケーススタディを見る

なぜアセット リンク パスを修正する必要があるのですか?

Views > Shared > _Layout.cshtmlに移動してください。 リンクタグでは"~/"はIronPDFとの互換性が良くないためです。

その他に注意すべきパス関連の問題はありますか?

チルダ(~)パスの問題を超えて、画像ソースが絶対パスまたは適切な相対参照を使用していることを確認してください。 外部リソースについては、アセットが正しく読み込まれるように、ベースURLを使用してください。 Azure Blob Storageの画像については、Azure Blob Storageからの画像の埋め込みを参照してください。

静的アセットはPDF生成にどのように影響しますか?

静的アセット(CSS、JavaScript、画像)は、PDF生成のパフォーマンスと品質に影響を与えます。 レンダリング中にアセットにアクセスできるようにし、最適化された画像を使用し、レンダリングを高速化するために重要なCSSをインラインで埋め込むことを検討してください。 JavaScript を多用するコンテンツの rendering delay and timeouts について学んでください。

ヘッドレスPDFの生成をテストするにはどうすればよいですか?

プロジェクトを実行してPDFドキュメントを生成します。

Program.cs を開いた状態で実行中の ASP.NET Core MVC アプリと、成功したデバッグ出力を表示する Visual Studio

出力PDF

最終的なPDFはどのようになりますか?

PDFは、テーブル構造、フォント、色、レイアウトなど、すべてのRazor Viewフォーマットを維持する必要があります。 適切なサイズで、きれいな余白があり、プロフェッショナルな外観であること。 出力品質を確認するために、IronPDFのラスタライズ機能を使ってページを画像としてプレビューしてください。

一般的な PDF レンダリングの問題をトラブルシューティングするにはどうすればよいですか?

よくある問題としては、スタイルの欠落、レイアウトの崩れ、コンテンツの不完全さなどがあります。 詳細なロギングを有効にし、アセットパスを検証し、HTMLが適切に検証されるようにします。 複雑なレイアウトの場合、Chromeデバッグツールを使用して、変換前にHTMLをプレビューしてください。 特定のレンダリングの問題については、WaitFor delays を使用して、レンダリング前にコンテンツが読み込まれるようにしてください。

完全な実例はどこでダウンロードできますか?

圧縮されたVisual Studio ASP.NET Core Web App(Model-View-Controller)プロジェクトとして完全なコードをダウンロードしてください。

プロジェクトをダウンロードするにはここをクリック。

サンプルプロジェクトを実行するための前提条件は何ですか?

Visual Studio 2019以降と.NET 6.0 SDK以降が必要です。 プロジェクトにはNuGetパッケージの復元のためにインターネット接続が必要です。 実行する前にProgram.csでIronPDFライセンスキーを更新してください。 導入については、Windowsインストールガイドを参照してください。

自分のユースケースに合わせてサンプルをカスタマイズするにはどうすればよいですか?

サンプルは、特定のニーズに対応するための基礎となります。 動的なデータモデルを追加したり、頻繁に生成されるPDFのキャッシュを実装したり、既存の認証と統合したりします。 高度なシナリオについては、async PDF 生成でパフォーマンスを向上させたり、PDF 圧縮を実装してファイル サイズを削減したりすることを検討してください。 文書の信頼性のためにデジタル署名を追加したり、機密文書のためにパスワード保護を追加します。

よくある質問

C# で Razor Views を GUI なしで PDF に変換する方法を教えてください。

Razor.Templating.Coreを使ってcshtmlファイルをHTMLに変換し、IronPDFのRenderHtmlAsPdfメソッドを使ってPDFをヘッドレスで生成します。この2段階のプロセスにより、グラフィカルユーザーインターフェイスやブラウザウィンドウを必要とせずにRazorビューをPDFドキュメントに変換することができます。

RazorのビューをヘッドレスでPDFにレンダリングする最も速い方法は何ですか?

まずRazorTemplateEngine.RenderAsyncでRazorビューをHTMLに変換し、IronPDFのChromePdfRenderer().RenderHtmlAsPdf(html).SaveAs()メソッドでPDFファイルを作成し保存します。

なぜIronPdf.Extensions.Razorの代わりにRazor.Templating.Coreを使う必要があるのですか?

Razor.Templating.Coreは真のヘッドレスレンダリング機能を提供し、ウェブコンテキストやブラウザウィンドウなしでRazorビューをHTMLに変換することができます。Razor.Templating.Coreはバックグラウンドサービスやコンソールアプリケーションに向いています。

ヘッドレスPDF生成にはどのようなASP.NET Coreプロジェクトが必要ですか?

ASP.NET Core Web App (Model-View-Controller) プロジェクトを使用し、必要な Razor View インフラストラクチャと柔軟なデプロイメントオプションを提供します。このセットアップは、バックグラウンドサービス、Azure Functions、またはコンソールアプリケーション用のIronPDFとうまく機能します。

Razor から PDF への変換に必要なパッケージのインストール方法を教えてください。

Razor.Templating.CoreをNuGetパッケージマネージャを使って'Install-Package Razor.Templating.Core'コマンドでインストールします。HTMLからPDFへの変換ステップを処理するために、プロジェクトにIronPDFをインストールする必要があります。

このヘッドレスPDF生成アプローチをクラウド環境で使用できますか?

IronPDFのヘッドレスRazorからPDFへの変換は、Azure Functions、AWS Lambda、コンテナ化されたアプリケーションを含むクラウド環境で優れた機能を発揮し、スケーラブルなドキュメント生成サービスに最適です。

What are the key considerations for styling HTML content for PDF rendering?

When styling HTML for PDF, focus on using print-specific CSS, fixed pixel values, and embedded fonts to ensure consistent rendering, as well as defining margins and breaks appropriately for professional output.

How can static assets impact PDF generation with IronPDF?

Static assets such as CSS, JavaScript, and images influence the quality and speed of PDF rendering. Ensuring assets are accessible and optimized is crucial for consistent performance and visual accuracy.

What should you do if asset paths cause issues in PDF rendering?

Ensure asset paths are correctly formatted, avoiding problematic paths like '~/' and using absolute or properly relative path references to guarantee that all resources load during the rendering process.

What are the prerequisites for running the sample Razor to PDF conversion project?

To run the sample project, you need Visual Studio 2019 or later with the .NET 8.0 SDK and an active internet connection for NuGet package restoration. Additionally, update your IronPDF license key in the code.

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日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。