BlazorチュートリアルでPDFファイルを作成する
IronPDFは、著名なC#ライブラリであり、Blazorアプリケーションで動作します。 このレビューでは、IronPDFを使用してBlazorアプリケーションにPDFレポートを埋め込む方法をガイドし、そのシームレスな統合と効果を紹介します。
BlazorでPDFファイルを作成する方法
- Visual Studio で新しい Blazor プロジェクトを作成する
- Blazor アプリケーションのための HTML-to-PDF ライブラリをインストールする
- URL からウェブページを PDF ドキュメントに作成する
- HTML 文字列から PDF ドキュメントを作成する
1. IronPDFの機能
開発者は、強力なIronPDF .NET PDFライブラリの助けを借りて、PDF文書を迅速に作成、読み取り、および処理できます。 IronPDFには組み込みのChromeエンジンがあり、豊富で強力な機能を提供します。 これには、HTML5、JavaScript、CSS、画像をPDFに変換する機能、PDF文書に独自のヘッダーとフッターを追加する機能、ウェブブラウザで表示される通りにPDFを生成する機能が含まれます。 IronPDFは、HTML、ASPX、Razor Pages、MVCフレームワークなど、さまざまなウェブ技術をサポートしています。
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をサポートしています。
2. Blazorとは何ですか?
Blazorは、Webアセンブリを使用してC#とHTMLでクライアントサイドWebアプリケーションを作成することが可能なWebアプリケーションフレームワークです。
Webアセンブリアプリは、ブラウザにネイティブに近い速度で動作可能なバイナリ命令形式で送信されます。 これにより、ブラウザ内でC#のような言語を実行する新しい可能性が生まれました。
Visual Studioでの新しいプロジェクトの作成
まず、Microsoft Visual Studio アプリケーションを開き、ファイルメニューから"新しいプロジェクト"を選択します。 次に、"Blazor Server App"を選択します。
Visual Studioで新しいプロジェクトを作成する
プロジェクト名を入力し、ファイルパスを選択します。 次に、作成ボタンをクリックします。
新しいBlazorアプリケーションの名前と場所を選択する
希望の.NET Frameworkを選択します(このチュートリアルでは.NET 6.0を使用します)。以下のスクリーンショットを参照してください。
.NET 6.0 Frameworkを使用した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パッケージマネージャを開く方法を示しています。
Visual StudioのNuGetパッケージマネージャーへのアクセス
"Browse"タブの検索フィールドに"IronPDF"と入力して検索してください。以下のスクリーンショットを参照してください。
NuGetパッケージマネージャーGUIでIronPDFライブラリを検索する
上記の画像には関連する検索結果の一覧が表示されています。 パッケージをプロジェクトにインストールするために必要なオプションを選択します。
3.2 Visual Studioコマンドラインを使用
Visual Studioでは、ツール > NuGet パッケージ マネージャー > パッケージ マネージャー コンソールに移動します。
パッケージ マネージャー コンソールタブに次の行を入力してください。
Install-Package IronPdf
パッケージは現在のプロジェクトにダウンロードおよびインストールされます。
NuGetパッケージマネージャーコンソールを使用してIronPDFライブラリをインストールする
3.3 NuGetウェブサイトから直接ダウンロード
IronPDFライブラリをインストールする3つ目の方法は、ウェブサイトからNuGetパッケージを直接ダウンロードすることです。
IronPDF用NuGetウェブサイトに移動します。
- 右側のメニューから"Download Package"オプションをクリックします。
- ファイルシステム上でダウンロードしたパッケージを開きます。 自動的にインストールされます。
- ソリューションを再読み込みし、プロジェクトで使用を開始します。
3.4 IronPDFウェブサイトから直接ダウンロード
IronPDFウェブサイトを訪問し、IronPDFパッケージを直接ダウンロードしてください。
ダウンロード後、以下の手順に従ってパッケージをプロジェクトに追加します。
- ソリューションウィンドウからプロジェクトを右クリックします。
- "追加">"参照"のオプションを選択し、前にダウンロードしたライブラリの場所に移動します。
- "OK"をクリックして、ライブラリを参照として追加します。
4. Blazor Server AppでPDF文書を作成する
このチュートリアルのBlazorアプリは、IronPDFを使用して、ウェブページのHTMLコンテンツをそのURLで取得し、それをPDF文書に変換します。
プロジェクト内の.razorファイルに以下のソースコードを入力します。
@using IronPdf
@code {
/// <summary>
/// This method exports data by converting a URL to a PDF file and initiating its download.
/// </summary>
public async Task ExportData()
{
try
{
string fileName = "Demo.pdf";
var renderer = new ChromePdfRenderer();
// Render the contents of the URL as a PDF document
var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
// Save the PDF using a JavaScript function
await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
}
catch (Exception ex)
{
// Handle any exceptions that may occur
Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
}
}
}@using IronPdf
@code {
/// <summary>
/// This method exports data by converting a URL to a PDF file and initiating its download.
/// </summary>
public async Task ExportData()
{
try
{
string fileName = "Demo.pdf";
var renderer = new ChromePdfRenderer();
// Render the contents of the URL as a PDF document
var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
// Save the PDF using a JavaScript function
await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
}
catch (Exception ex)
{
// Handle any exceptions that may occur
Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
}
}
}[using] ReadOnly Property code() As IronPdf
''' <summary>
''' This method exports data by converting a URL to a PDF file and initiating its download.
''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' public async Task ExportData()
' {
' try
' {
' string fileName = "Demo.pdf";
' var renderer = New ChromePdfRenderer();
'
' ' Render the contents of the URL as a PDF document
' var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
'
' ' Save the PDF using a JavaScript function
' await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
' }
' catch (Exception ex)
' {
' ' Handle any exceptions that may occur
' Console.@Error.WriteLine(string.Format("Error in ExportData: {0}", ex.Message));
' }
' }
End Property上記のコードスニペットは、HTMLからPDF文書を生成する2つの方法を使用しています。 1つ目は、IronPDFのRenderUrlAsPdfメソッドで、指定されたURLからHTMLコンテンツをダウンロードし、PDF形式に変換します。
2つ目の方法は、静的なJSRuntime.InvokeVoidAsyncメソッドで、クライアントのファイルシステムにPDFコンテンツを保存するウェブページの範囲内でJavaScript関数をブラウザのJavaScriptエンジンをトリガーします。
このJavaScript関数は以下に含まれています。
<script type="text/javascript">
/**
* Saves the PDF data as a file on the client's system.
* @param {string} filename - The name of the file to be created.
* @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
*/
function saveAsFile(filename, bytesBase64) {
if (navigator.msSaveBlob) {
// Download the document in Microsoft 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">
/**
* Saves the PDF data as a file on the client's system.
* @param {string} filename - The name of the file to be created.
* @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
*/
function saveAsFile(filename, bytesBase64) {
if (navigator.msSaveBlob) {
// Download the document in Microsoft 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>上記のJavaScript関数はBlazorからBase64データを受け取り、それをBlobに変換してクライアント側に保存します。
または、SaveAsメソッドも、ChromePdfRendererクラスから使用して、ブラウザのローカルストレージにPDF文書を保存することもできます。
5. HTML文字列からPDF文書を作成する
以下のコードスニペットは、HTML文字列を文書に変換する方法を示しています。
@using IronPdf
@code {
/// <summary>
/// Demonstrates turning an HTML string into a PDF document.
/// </summary>
public void GeneratePdfFromHtmlString()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
// You can save the generated PDF locally
pdf.SaveAs("HelloWorld.pdf");
}
}@using IronPdf
@code {
/// <summary>
/// Demonstrates turning an HTML string into a PDF document.
/// </summary>
public void GeneratePdfFromHtmlString()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
// You can save the generated PDF locally
pdf.SaveAs("HelloWorld.pdf");
}
}[using] ReadOnly Property code() As IronPdf
''' <summary>
''' Demonstrates turning an HTML string into a PDF document.
''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' public void GeneratePdfFromHtmlString()
' {
' var renderer = New ChromePdfRenderer();
' var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
'
' ' You can save the generated PDF locally
' pdf.SaveAs("HelloWorld.pdf");
' }
End Property上記の例では、RenderHtmlAsPdfインスタンスメソッドを使用して、任意のHTMLの文字列をPDFコンテンツに変換しています。 さらに、上述の手順ではSaveAsメソッドを使用して、PDFコンテンツをクライアントのコンピューターに保存することもできます。
このチュートリアルで作成されたBlazor PDF生成アプリケーション
上記のスクリーンショットは、今回のチュートリアルで開発されたウェブアプリケーションを示しています。 "ダウンロード"ボタンをクリックすると、クライアント側でPDFコンテンツをダウンロードするJavaScript関数と共にC#コードが発動されます。
結論
この記事では、IronPDF PDFライブラリを使用してウェブページからPDFファイルを生成するBlazor Webアプリケーションの開発方法を説明しました。
IronPDFはオープンソースではありませんが、無料トライアルキーを使用して、生産環境で透かし無しで使用できます。
よくある質問
Blazor サーバーサイドアプリケーションに PDF ライブラリをどのように統合できますか?
IronPDF を使用して Blazor サーバーサイドアプリケーションに PDF ライブラリを統合できます。まず、Visual Studio で Blazor プロジェクトを作成し、NuGet パッケージ マネージャーまたはコマンド ラインを通じて IronPDF ライブラリをインストールします。IronPDF は、HTML コンテンツからシームレスに PDF ドキュメントを生成することができます。
Blazor アプリケーションで HTML から PDF を生成するためにはどのような方法がありますか?
Blazorアプリケーションでは、IronPDFのRenderUrlAsPdfメソッドを使用して、ウェブページのURLをPDFに変換したり、RenderHtmlAsPdfを使用してHTML文字列から直接PDFを生成することができます。これらのメソッドは、さまざまなHTMLソースからPDFドキュメントを作成するのに柔軟性を提供します。
Blazor アプリケーションで PDF ファイルをクライアントのファイルシステムに保存するにはどうすればよいですか?
Blazor アプリケーションで PDF ファイルをクライアントのファイルシステムに保存するためには、JavaScript 関数を使用して PDF データを blob に変換し、ダウンロードをトリガーします。IronPDF は PDF を生成するために必要なツールを提供し、それをクライアント サイドの JavaScript を使用して処理できます。
Visual Studio で Blazor サーバーサイドプロジェクトを作成するプロセスは何ですか?
JavaScript統合
このライブラリを使用して HTML 内の JavaScript と CSS コンテンツを PDF に変換することは可能ですか?
はい、IronPDF を使用して HTML 内の JavaScript と CSS コンテンツを PDF に変換することが可能です。これは HTML5、CSS、および JavaScript コンテンツのレンダリングをサポートしており、元のウェブページのレイアウトとスタイルを維持した包括的な PDF ドキュメントを生成できます。
Blazor で PDF の生成が期待通りに機能しない場合のトラブルシューティング手順は何ですか?
PDF の生成が Blazor で期待通りに機能しない場合、プロジェクト内で IronPDF ライブラリが正しくインストールされていることを確認してください。さらに HTML コンテンツが正しくフォーマットされておりアクセス可能であるか確認してください。また、ブラウザのコンソールで PDF レンダリングプロセスに影響を与える可能性がある JavaScript エラーがないか確認してください。
PDF ライブラリを使用して PDF ドキュメントにヘッダーとフッターを含めることをどのようにして確保できますか?
IronPDF を使用して PDF ドキュメントにヘッダーとフッターを含めるためには、レンダリングオプションを設定してカスタムヘッダーとフッターコンテンツを追加できます。これにより、ページ番号やタイトルなどの追加情報を PDF 出力に含めることができます。
Blazor アプリケーションで認証されたページの PDF を生成することは可能ですか?
はい、IronPDF は Blazor アプリケーションで認証が必要なページの PDF を生成できます。ライブラリの機能を使用して PDF に変換する前に、制限されたコンテンツにアクセスするための認証 Cookie またはトークンを管理する必要があります。
IronPDF は .NET 10 と互換性がありますか? また、.NET 10 で使用するとどのような利点がありますか?
はい、IronPDF は .NET 10 と完全に互換性があり、カスタムの回避策、shim、または廃止された API を必要とせずにすぐに使用できます。.NET 10 では、ASP.NET Core と Blazor に更新が加えられ、パフォーマンスの向上、依存関係の管理の改善、フレームワーク参照の処理の強化、JavaScript の分離の改善などが行われ、Razor ページ、URL、または HTML コンテンツを使用した PDF 生成ワークフローにメリットをもたらします。
IronPDF を .NET 10 で使用すると、パフォーマンスと実行時の効率がどのように向上しますか?
IronPDF を .NET 10 で使用すると、配列インターフェースメソッドの仮想化解除、構造体のエスケープ解析、JIT 最適化の改善、AVX-512 命令のサポートなど、いくつかのランタイム拡張機能を活用できます。これらの改善により、メモリ割り当てが削減され、ガベージコレクションのオーバーヘッドが低減され、HTML レンダリングや PDF 操作などのタスクが高速化されます。






