IRONPDFの使用

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

更新済み 9月 23, 2022
共有:

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は WebページのURLからPDFファイルを生成する 特定のUser-Agent、Proxy、Header、およびCookie構成を使用して。
  • 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: Visual Studio で .NET 6.0 フレームワークを使用して新しいプロジェクトを作成する

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

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パッケージをダウンロードすることです。

以下に移動します。 https://www.nuget.org/packages/IronPdf/

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

  • ソリューションをリロードして、プロジェクトで使用を開始します。

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
VB   C#

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

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

以下の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>")
VB   C#

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

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

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

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

結論

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

IronPDFはオープンソースではありませんが、 無料トライアルキー それにより、透かしなしで本番環境で使用することができます。

< 以前
Blazor PDFビューアーチュートリアル
次へ >
.NET MAUIでIronPDFを使用してPDFファイルを作成する

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 10,659,073 View Licenses >