IRONPDFの使用

BlazorチュートリアルでPDFファイルを作成

IronPDFは、著名なC#ライブラリであり、Blazorアプリケーションと連携します。 このレビューでは、BlazorアプリケーションにPDFレポートを埋め込むためにIronPDFを使用する方法を案内し、そのシームレスな統合と効果を紹介します。

1. IronPDFの特徴

開発者は、強力なIronPDF .NET PDFライブラリを使用して、PDFドキュメントを迅速に作成、読み取り、および処理することができます。 IronPDFには組み込みのChromeエンジンがあり、実用的で強力な機能が豊富に備わっています。 これらには、HTML5、JavaScript、CSS、画像をPDFに変換する機能、PDFドキュメントにユニークなヘッダーとフッターを追加する機能、およびWebブラウザで表示されるように正確にPDFを生成する機能が含まれます。 IronPDFは、HTML、ASPX、Razor Pages、およびMVCフレームワークなどのさまざまなWebテクノロジーをサポートしています。

IronPDFの主な特長は次のとおりです:

  • IronPDFは、.NET C# アプリケーション内でPDFファイルの作成および修正を完全にコントロールできます。
  • IronPDFは、特定のユーザーエージェント、プロキシ、ヘッダー、クッキーの構成を使用して、URLからウェブページのPDFファイルを生成できます。
  • IronPDFは、フォーム変数を使用したログインフォームの背後にあるウェブページのPDFファイルを生成できます。
  • IronPDF は既存の PDF ファイルから画像を抽出および/または削除することができます
  • IronPDFは、PDFドキュメントにテキスト、写真、ブックマーク、ウォーターマーク、その他の要素を追加できます。
  • IronPDFを使用すると、1つまたは複数のPDFドキュメントのページの結合および分割が簡単にできます。
  • IronPDFは、JavaScript、CSS、メディアファイルなどのウェブページアセットを処理し、ブラウザで表示されるようにPDFドキュメントにレンダリングすることができます。
  • IronPDFは、.NET Core、.NET Standardなど、すべての.NET Frameworkをサポートしています。

Blazorとは何ですか?

Blazorは、Web Assemblyを使用して、C#とHTMLでクライアントサイドのWebアプリケーションを作成することを可能にするWebアプリケーションフレームワークです。

Web Assemblyアプリは、ほぼネイティブの速度で動作できるバイナリ命令形式でブラウザに送信されます。 これにより、C#のような言語がブラウザ内で実行される可能性が新たに生まれました。

Visual Studioで新しいプロジェクトを作成

まず、Microsoft Visual Studioアプリケーションを開き、「File」メニューから「New Project」を選択してください。 次に、「Blazor Server App」を選択します。

BlazorチュートリアルでPDFファイルを作成する、図1: Visual Studioで新しいプロジェクトを作成する

Visual Studioで新しいプロジェクトを作成

プロジェクト名を入力し、ファイルパスを選択してください。 その後、Create ボタンをクリックします。

BlazorとPDFファイルを作成するチュートリアル、図2: 新しいBlazorアプリケーションの名前と場所の選択

新しいBlazorアプリケーションの名前と場所の選択

以下のスクリーンショットに示されているように、目的の.NET Frameworkを選択します(このチュートリアルでは.NET 6.0を使用します)。

BlazorチュートリアルでPDFファイルを作成する, 図3: .NET 6.0フレームワークでVisual Studioに新しいプロジェクトを作成

Visual Studioで.NET 6.0フレームワークを使用して新しいプロジェクトを作成する

Microsoft Visual Studio は、この Blazor アプリケーションの構造を生成します。

次に、IronPDFライブラリをこの新しいプロジェクトに追加します。

3. IronPDFライブラリのインストール

IronPDFライブラリは、次の4つの方法でダウンロードおよびインストールできます:

  • Visual StudioのNuGetパッケージマネージャーを使用
  • Visual Studio のコマンドラインの使用
  • NuGetウェブサイトから直接ダウンロードする
  • IronPDFのウェブサイトから直接ダウンロード

3.1 Visual StudioのNuGetパッケージマネージャーを使う

Visual Studioには、プロジェクトにライブラリを直接インストールするためのNuGetパッケージマネージャーが用意されています。 以下のスクリーンショットは、NuGetパッケージマネージャーを開く方法を示しています。

Blazor チュートリアルで PDF ファイルを作成する, 図4: Visual Studio の NuGet パッケージ マネージャーにアクセスする

Visual Studio の NuGet パッケージ マネージャーにアクセスする

以下のスクリーンショットに示されているように、ブラウズタブの検索フィールドを使用して「IronPDF」を検索してください。

BlazorでPDFファイルを作成するチュートリアル、図5: NuGetパッケージマネージャーGUIでIronPDFライブラリを検索する

NuGet パッケージ マネージャー GUI で IronPDF ライブラリを検索

上の画像には、関連する検索結果のリストが表示されています。 プロジェクトにパッケージをインストールするために必要なオプションを選択してください。

3.2 Visual Studio コマンドラインの使用

Visual Studioで、ツール > NuGet パッケージ マネージャー > パッケージ マネージャー コンソールに移動します。

次の行をパッケージ マネージャー コンソール タブに入力してください:

Install-Package IronPdf

パッケージが現在のプロジェクトにダウンロードおよびインストールされます。

BlazorでPDFファイルを作成するチュートリアル、図6:NuGetパッケージマネージャーコンソールを使用してIronPDFライブラリをインストールする

NuGet パッケージ マネージャー コンソールを使用した IronPDF ライブラリのインストール

NuGetウェブサイトから直接ダウンロードする方法

IronPDFライブラリをインストールする3つ目の方法は、ウェブサイトから直接NuGetパッケージをダウンロードすることです。

IronPDFのNuGetウェブサイトに移動します。

  • 右側のメニューから「Download Package」オプションをクリックします。
  • ダウンロードしたパッケージをファイルシステム上で開いてください。 自動的にインストールされます。
  • ソリューションをリロードして、プロジェクトで使用を開始します。

IronPDFのウェブサイトから直接ダウンロードする方法

IronPDFウェブサイトを訪問して、IronPDFパッケージを直接ダウンロードしてください。

ダウンロード後、パッケージをプロジェクトに追加するために以下の手順に従ってください。

  • ソリューションウィンドウからプロジェクトを右クリックします。
  • 「リファレンス」オプションを選択し、前にダウンロードしたライブラリの場所に移動します。
  • ライブラリを参照として追加するには「OK」をクリックしてください。

Blazor Server アプリで PDF ドキュメントを作成する

このチュートリアルのBlazorアプリは、IronPDFを使用して、URLで指定されたウェブページのHTMLコンテンツを取得し、それをPDFドキュメントに変換します。

プロジェクトに含まれる.razorファイルに次のソースコードを入力してください。

@using IronPdf;

public void ExportData()
{
    try
    {
        string fileName = "Demo.pdf";
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
        JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
    }
    catch (Exception ex)
    {

    }
}
@using IronPdf;

public void ExportData()
{
    try
    {
        string fileName = "Demo.pdf";
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
        JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
    }
    catch (Exception ex)
    {

    }
}
Private IronPdf As [using]

Public Sub ExportData()
	Try
		Dim fileName As String = "Demo.pdf"
		Dim renderer = New IronPdf.ChromePdfRenderer()
		Dim pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata")
		JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()))
	Catch ex As Exception

	End Try
End Sub
$vbLabelText   $csharpLabel

上記のコードスニペットは、HTMLからPDF文書を生成するために2つのメソッドを使用しています。 最初のものはIronPDFのRenderUrlAsPdfメソッドであり、指定されたURLからHTMLコンテンツをダウンロードし、それをPDF形式に変換します。

2番目の方法は、ブラウザのJavaScriptエンジンをトリガーし、Webページのスコープ内でJavaScript関数を呼び出して、クライアントのファイルシステムにPDFコンテンツをファイルとして保存する、静的なJSRuntime.InvokeVoidAsyncメソッドです。

以下のJavaScript関数が含まれています:

<script type="text/JavaScript">
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            //Download document in Edge browser
            var data = window.atob(bytesBase64);
            var bytes = new Uint8Array(data.length);
            for (var i = 0; i < data.length; i++) {
                bytes[i] = data.charCodeAt(i);
            }
            var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
            navigator.msSaveBlob(blob, filename);
            window.navigator.msSaveOrOpenBlob(blob);
        }
        else {
            var link = document.createElement('a');
            link.download = filename;
            link.href = "data:application/octet-stream;base64," + bytesBase64;
            document.body.appendChild(link); // Needed for Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
<script type="text/JavaScript">
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            //Download document in Edge browser
            var data = window.atob(bytesBase64);
            var bytes = new Uint8Array(data.length);
            for (var i = 0; i < data.length; i++) {
                bytes[i] = data.charCodeAt(i);
            }
            var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
            navigator.msSaveBlob(blob, filename);
            window.navigator.msSaveOrOpenBlob(blob);
        }
        else {
            var link = document.createElement('a');
            link.download = filename;
            link.href = "data:application/octet-stream;base64," + bytesBase64;
            document.body.appendChild(link); // Needed for Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
HTML

上記のJavaScript関数は、BlazorからBase64データを受け取り、それをblobに変換してからクライアント側のロケーションに保存します。

または、SaveAs メソッドは、ChromePdfRenderer クラスからも使用でき、PDF ドキュメントをブラウザのローカルストレージに保存することができます。

HTML文字列からPDFドキュメントを作成

以下のコードスニペットは、HTML文字列をドキュメントに変換する方法を示しています。

var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>")
var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'var pdf = New IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>")
$vbLabelText   $csharpLabel

前述の例では、RenderHtmlAsPdf インスタンスメソッドを使用して、任意のHTML文字列をPDFコンテンツに変換します。 さらに、SaveAs メソッドは、前述の手順で説明されているように、このコンテンツをクライアントのコンピューターに保存するために使用できます。

BlazorチュートリアルでPDFファイルを作成する, 図7: このチュートリアルで作成されたBlazor PDF生成アプリケーション

このチュートリアルで作成されたBlazor PDF生成アプリケーション

上のスクリーンショットは、このチュートリアルで開発されたWebアプリケーションを示しています。 ダウンロードボタンをクリックすると、C#コードがPDFコンテンツを生成し、クライアント側でPDFコンテンツをダウンロードするJavaScript関数がトリガーされます。

結論

この記事では、IronPDF PDFライブラリを使用してウェブページからPDFファイルを生成するBlazor Webアプリケーションの開発方法を紹介しました。

IronPDFはオープンソースではありませんが、無料の試用キーを使用すると、透かしなしで本番環境で使用できます。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
Blazor PDFビューアーチュートリアル
次へ >
.NET MAUIでIronPDFを使用してPDFファイルを作成する