RazorビューをPDFにヘッドレス変換する方法

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

によって チャクニット・ビン

「ヘッドレスレンダリング」という用語は、グラフィカルユーザーインターフェースなしでWebコンテンツをレンダリングするプロセスを指します。 (GUI (グラフィカルユーザーインターフェース)) またはブラウザウィンドウ。 以下の内容を日本語に翻訳してください:

はい、以下の内容を日本語に翻訳します:

While the document editor provides a rich interface for editing, IronPDF for .NET ensures that you can convert and render perfect PDFs from any HTML content. IronOCR for .NET, on the other hand, is optimized for extracting text from scanned images and PDFs, offering high accuracy and ease of use. With IronXL for .NET, you can read, write, and manipulate Excel files without needing to install Microsoft Excel. These tools from Iron Software are designed to streamline your workflow and enhance productivity. IronPdf.Extensions.Razor パッケージは非常に便利ですが、ヘッドレスレンダリング機能は提供していません。 ヘッドレスレンダリングは、IronPDF.Extensions.Razorパッケージが対応できないユースケースギャップを埋めることができます。

以下を利用します Razor.Templating.Core CSHTMLから変換するためのパッケージ (Razorビュー) HTMLに変換し、その後IronPDFを使用してPDFドキュメントを生成します。

この記事は以下のYouTube動画に触発されました:

PDF 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronPdf
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

PDF 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronPdf
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

今日からプロジェクトでIronPDFを使い始めましょう。無料のトライアルをお試しください。

最初のステップ:
green arrow pointer

チェックアウト IronPDF オン Nuget 迅速なインストールと展開のために。8百万以上のダウンロード数により、PDFをC#で変革しています。

PDF 用 C# NuGet ライブラリ nuget.org/packages/IronPdf/
Install-Package IronPdf

インストールを検討してください IronPDF DLL 直接。ダウンロードして、プロジェクトまたはGACの形式で手動でインストールしてください。 IronPdf.zip

プロジェクトに手動でインストールする

DLLをダウンロード

ASP.NET Core WebアプリでRazorビューをHTMLドキュメントに変換するために、Razor.Templating.Coreパッケージをインストールしてください。

Install-Package Razor.Templating.Core

RazorビューをPDFにレンダリング

ASP.NET Coreウェブアプリが必要です。 (モデル-ビュー-コントローラ) ビューをPDFファイルに変換するプロジェクト。

ビューを追加

  • 「Home」フォルダーを右クリックします。 「add」と「Add View」を選択してください。
  • 空のRazorビューを作成し、“Data.cshtml”という名前にします。

    ビューを追加

Data.cshtmlファイルを編集

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>
<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

Program.cs ファイルを編集

「Program.cs」ファイル内に、次のコードを追加します。 以下のコードは、Razor.Templating.CoreライブラリのRenderAsyncメソッドを使用してRazorビューをHTMLに変換します。 次に、ChromePdfRendererクラスをインスタンス化し、返されるHTML文字列をRenderHtmlAsPdfメソッドに渡します。 ユーザーは、RenderingOptions を利用して、カスタム追加などのさまざまな機能にアクセスできます。 テキスト、HTML ヘッダーとフッターを含む 次のPDFでカスタムマージンを定義し、適用する ページ番号.

app.MapGet("/PrintPdf", async () =>
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;

    string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");

    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");

    return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
app.MapGet("/PrintPdf", async () =>
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;

    string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");

    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");

    return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
app.MapGet("/PrintPdf", Async Function()
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
	IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All

	Dim html As String = Await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml")

	Dim renderer As New ChromePdfRenderer()
	Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html, "./wwwroot")

	Return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf")
End Function)
VB   C#

アセットリンクの変更

「Views」フォルダ ->「Shared」フォルダ -> 「_Layout.cshtml」ファイルに移動します。リンクタグ内の「~/」を「./」に変更します。

これは重要です。なぜなら、"~/"はIronPDFとうまく機能しないからです。

プロジェクトを実行

これにより、プロジェクトを実行してPDFドキュメントを生成する方法を示します。

ASP.NET Core MVC プロジェクトを実行する

PDFを出力

ASP.NET Core MVC プロジェクトをダウンロード

このガイドの完全なコードは、ダウンロードすることができます。Visual StudioでASP.NET Core Webアプリとして開けるzipファイルとして提供されています。 (モデル-ビュー-コントローラ) プロジェクト

プロジェクトをダウンロードするにはこちらをクリックしてください。

チャクニット・ビン

ソフトウェアエンジニア

チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。