BlazorサーバーでRazorをPDFに変換する方法

How to Convert Razor to PDF in Blazor Server

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

Razorコンポーネントはページ、ダイアログ、またはデータ入力フォームなどのユーザーインターフェイス要素で、C#とRazor構文を使用して構築されます。 UIの再利用可能な部分として機能します。

Blazor ServerはJavaScriptの代わりにC#を使用してインタラクティブなWeb UIを構築するためのWebフレームワークです。 このフレームワークでは、コンポーネントのロジックがサーバーで実行されます。

IronPDFを使用することで、Blazor ServerプロジェクトやアプリケーションでRazorコンポーネントからPDFドキュメントを生成できます。 これにより、Blazor ServerでのPDFファイル/ページの作成が簡単になります。

迅速開始: Razorコンポーネントを数分でPDFに変換

IronPDFを使用して、Blazor Serverアプリケーション内でRazorコンポーネントをPDFに簡単に変換できます。 ほんの数行のコードで、IronPDFのRenderRazorComponentToPdfメソッドを使用することで、Razorコンポーネントをプロフェッショナル品質のPDFに変換できます。 この簡単なガイドに従って、RazorからPDFへの変換をシームレスにプロジェクトに統合し、効率的なレンダリングを最小限のセットアップで実現します。迅速な導入を求める開発者に最適なこの方法は、さらなるカスタマイズのためのオプションを備え、シンプルでありながら強力なPDF生成プロセスを確保します。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    // Install-Package IronPdf.Extensions.Blazor
    var pdf = new IronPdf.ChromePdfRenderer()
        .RenderRazorComponentToPdf<MyComponent>(new Dictionary<string,object> { {"persons",personsList} })
        .SaveAs("component‑to‑pdf.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小ワークフロー(5ステップ)

  1. Blazor ServerでRazorをPDFに変換するためのC#ライブラリをダウンロード
  2. データのためのモデルクラスを追加
  3. 新しいRazorコンポーネントを作成し、RenderRazorComponentToPdfメソッドを使用
  4. 新しいRazorコンポーネントにアクセスするために左メニューにセクションを追加する
  5. 迅速な開始のためにサンプルプロジェクトをダウンロード

IronPDF拡張パッケージ

IronPdf.Extensions.Blazorパッケージは、主要なIronPdfパッケージの拡張です。 Blazor Server AppでRazorコンポーネントをPDFドキュメントにレンダリングするには、IronPdf.Extensions.BlazorとIronPdfの両方のパッケージが必要です。

Install-Package IronPdf.Extensions.Blazor
class="products-download-section">
data-modal-id="trial-license-after-download">
class="product-image"> C# NuGet Library for PDF
class="product-info">

NuGetでインストール

class="copy-nuget-row">
Install-Package IronPdf.Extensions.Blazor
class="copy-button">
class="nuget-link">nuget.org/packages/IronPdf.Extensions.Blazor/

RazorコンポーネントをPDFにレンダリングする

RazorコンポーネントをPDFに変換するには、Blazor Server Appプロジェクトが必要です。

モデルクラスを追加

標準のC#クラスを追加し、PersonInfoと名付けます。 このクラスは、人物情報を保存するためのモデルとして機能します。 次のコードを挿入してください。

:path=/static-assets/pdf/content-code-examples/how-to/razor-to-pdf-blazor-server-model.cs
namespace BlazorSample.Data
{
    public class PersonInfo
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
    }
}
Namespace BlazorSample.Data
	Public Class PersonInfo
		Public Property Id() As Integer
		Public Property Name() As String
		Public Property Title() As String
		Public Property Description() As String
	End Class
End Namespace
$vbLabelText   $csharpLabel

Razorコンポーネントを追加

RenderRazorComponentToPdfメソッドを使用して、RazorコンポーネントをPDFに変換します。 ChromePdfRendererクラスをインスタンス化することでこのメソッドにアクセスできます。 このメソッドはPdfDocumentオブジェクトを返し、それによりPDFドキュメントをエクスポートしたり、さらに修正したりできます。

The returned PdfDocument can undergo additional modifications, such as conversion to PDF/A or PDF/UA formats. You can also merge or split the PDF document, rotate its pages, and add annotations or bookmarks. カスタムの透かしもPDFにスタンプできます。

Razorコンポーネントを追加し、Person.razorと名付けます。 次のコードを入力してください。

@page "/Person"
@using BlazorSample.Data;
@using IronPdf;
@using IronPdf.Extensions.Blazor;

<h3>Person</h3>

@code {
    // A parameter to receive a list of persons from the parent component.
    [Parameter]
    public IEnumerable<PersonInfo> persons { get; set; }

    // Dictionary to hold parameters that will be passed to the PDF renderer.
    public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();

    protected override async Task OnInitializedAsync()
    {
        // Initialize the persons list with some sample data.
        persons = new List<PersonInfo>
        {
            new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
            new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
            new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
        };
    }

    private async void PrintToPdf()
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Apply text footer to the PDF pages.
        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            LeftText = "{date} - {time}",
            DrawDividerLine = true,
            RightText = "Page {page} of {total-pages}",
            Font = IronSoftware.Drawing.FontTypes.Arial,
            FontSize = 11
        };

        Parameters.Add("persons", persons);

        // Render Razor component to PDF and save it.
        PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
        File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
    }
}

<table class="table">
    <tr>
        <th>Name</th>
        <th>Title</th>
        <th>Description</th>
    </tr>
    @foreach (var person in persons)
    {
        <tr>
            <td>@person.Name</td>
            <td>@person.Title</td>
            <td>@person.Description</td>
        </tr>
    }
</table>

<button class="btn btn-primary" @onclick="PrintToPdf">Print to Pdf</button>

さらに、この方法でPDFを生成することで、RenderingOptionsのすべての機能に完全にアクセスできます。 これには、テキスト、HTMLヘッダーとフッターを挿入する機能が含まれます。 さらに、ページ番号を追加し、ページの寸法とレイアウトをお好みに調整することもできます。

左メニューにセクションを追加

  • 「共有フォルダー」に移動し、NavMenu.razorを開きます。
  • Personという我々のRazorコンポーネントを開くセクションを追加します。 我々のPersonコンポーネントは2番目のオプションになります。
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
    <nav class="flex-column">
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="Person">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Person
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="counter">
                <span class="oi oi-plus" aria-hidden="true"></span> Counter
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
            </NavLink>
        </div>
    </nav>
</div>

プロジェクトを実行する

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

Blazor Serverプロジェクトを実行

Blazor Server Appプロジェクトをダウンロード

このガイドに対する完全なコードをダウンロードできます。それは、Visual StudioでBlazor Server Appプロジェクトとして開くことができる、ジップファイルとして提供されます。

RazorからPDFへの変換用のBlazorサンプルプロジェクトをダウンロード

次に何ができるのかを見てみましょうか? 私たちのチュートリアルページをご覧ください: PDFの変換

よくある質問

Blazor サーバープロジェクトでどのようにして Razor コンポーネントを PDF に変換できますか?

Blazor サーバープロジェクトでは IronPDF の `RenderRazorComponentToPdf` メソッドを使用して Razor コンポーネントを PDF ドキュメントに変換できます。

Razor コンポーネントから PDF を生成するための重要な手順は何ですか?

重要な手順には、NuGet から IronPDF ライブラリをダウンロードし、データ用のモデルクラスを追加し、Razor コンポーネントを作成し、変換用に `RenderRazorComponentToPdf` メソッドを使用することが含まれます。

なぜ IronPdf.Extensions.Blazor パッケージが必要なのですか?

IronPdf.Extensions.Blazor パッケージは、Blazor サーバーアプリケーションで Razor コンポーネントを PDF ドキュメントにレンダリングするために必要です。

Blazor サーバープロジェクトで IronPdf.Extensions.Blazor をどのようにインストールしますか?

NuGet を使用して IronPdf.Extensions.Blazor パッケージを次のコマンドでインストールできます: Install-Package IronPdf.Extensions.Blazor

`RenderRazorComponentToPdf` メソッドはどのような機能を提供しますか?

`RenderRazorComponentToPdf` メソッドは Razor コンポーネントを PDF ドキュメントに変換し、注釈やブックマークを追加するようなさらなる変更を可能にします。

Blazor サーバーで PDF ドキュメントをカスタマイズするためのオプションは何ですか?

カスタマイズオプションには、テキストの挿入、HTML ヘッダーとフッターの追加、ページ番号、ページ寸法の調整(IronPDF の RenderingOptions を使用)が含まれます。

どのようにして Blazor サーバーアプリの左メニューに Razor コンポーネントを統合できますか?

Razor コンポーネントを左のメニューに追加するには、Shared フォルダーに移動し、NavMenu.razor を開いて、コンポーネントへの NavLink を含むセクションを追加します。

どこで Razor コンポーネントを PDF に変換するサンプルプロジェクトを見つけることができますか?

完全なサンプルプロジェクトコードは、IronPDF のウェブサイトから ZIP ファイルとしてダウンロードし、Visual Studio で Blazor サーバーアプリプロジェクトとして開くことができます。

Razor コンポーネント PDF 変換におけるモデルクラスの役割は何ですか?

`PersonInfo` などのモデルクラスは、Razor コンポーネントに表示されるデータを保持し、PDF 内の動的コンテンツ生成に重要です。

Blazor サーバーで Razor コンポーネントを使用する利点は何ですか?

Razor コンポーネントは C# および Razor 構文で構築された再利用可能な UI 要素を可能にし、サーバーサイドロジックを備えたインタラクティブな Web UI を実現します。

.NET 10 の互換性: .NET 10 をターゲットとする Blazor Server アプリで IronPDF と Razor-to-PDF アプローチを使用できますか?

はい。IronPDFは.NET 10と完全に互換性があり、.NET 6、7、8と同様に.NET 10プロジェクトでも「問題なく動作します」。`RenderRazorComponentToPdf`を含むRazorからPDFへの変換メソッドは、.NET 10をターゲットとする場合、特別な回避策なしで使用できます。

Chaknith Bin
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeに取り組んでいます。彼はC#と.NETの深い専門知識を持ち、ソフトウェアの改善や顧客サポートに貢献しています。ユーザーとの対話から得られる洞察が、より良い製品、ドキュメント、および全体的な経験に寄与しています。
準備はいいですか?
Nuget ダウンロード 16,154,058 | バージョン: 2025.11 ただ今リリースされました