.NET ヘルプ

ASP.NETを使用してPDFレポートを生成する方法

更新済み 4月 29, 2024
共有:

イントロダクション

エンタープライズアプリケーションプログラミングでは、アクティブレポートの生成が多くの業界で企業に求められる重要な機能であることが多いです。 財務諸表、販売概要、または分析レポートのいずれであっても、迅速かつ効率的にレポートを作成する能力は不可欠です。 ASP.NETは、によって開発された広く使用されているWeb開発フレームワークです。 マイクロソフト, は、動的でインタラクティブなウェブアプリケーションの構築に役立つ強力なツールとライブラリを提供し、レポート生成機能もスムーズに行えます。 この記事では、.NETプラットフォームにおけるレポート生成の細部について、.NETレポートツール、手法、およびベストプラクティスを探ります。 次は、PDFレポート生成ライブラリである IronPDF から アイアンソフトウェア ASP.NET レポーティングツールアプリケーションに簡単に統合できる。

ASP.NETを使用してPDFレポートを生成する方法

  1. Visual Studio ASP.NET Core アプリケーションを作成する

  2. PDFレポート生成ライブラリをダウンロードしてインストールしてください:IronPDF

  3. HTMLドキュメントとしてレポートを生成します

  4. IronPDFライブラリーを使用してPDFレポートを生成する

ASP.NETにおけるレポート生成の理解

ASP.NETでのレポート生成には、ウェブ上で表示したり、PDF、Excel、またはCSVなどのさまざまな形式でエクスポートしたりできる動的なレポートを作成することが含まれます。ASP.NETは、これを実現するためのサーバー側およびクライアント側の技術を提供しています。 しかし、サーバーサイドのアプローチは、シンプルさ、セキュリティ、互換性のためにより一般的に使用されます。

ASP.NETでのレポート生成のベストプラクティス

データ取得の最適化

報告ソリューションの性能にとって、効率的なデータ取得は重要です。 レポート生成に必要なデータのみを取得して、データベースの負荷を最小限に抑え、応答性を向上させます。 ページネーション、フィルタリング、キャッシュなどの技術を活用して、データ取得プロセスを最適化します。

ストアドプロシージャを使用する

可能な限り、レポート内で複雑なデータ取得操作にはストアドプロシージャを使用してください。 ストアドプロシージャは、パフォーマンスを向上させ、SQLインジェクション攻撃を防ぐことでセキュリティを強化し、データアクセスロジックを集中させることによって保守性を促進します。

クエリのパラメータ化

SQLクエリをパラメータ化して、レポート内のデータを動的にフィルタリングおよびソート可能にします。 SQLインジェクション脆弱性のリスクを軽減するために、ユーザー入力を直接SQLクエリに連結することを避けてください。 代わりに、パラメータ化されたクエリやパラメータ化を自動的に処理するORMフレームワークを使用してください。

ページネーションを実装する

レポートに大規模なデータセットが含まれている場合、データを管理しやすいチャンクで表示するためにページネーションを実装してください。 レポートをページ分割することで、サーバーとクライアント間で転送されるデータ量が減少し、パフォーマンスが向上します。また、過剰なデータに圧倒されることを防ぎ、ユーザビリティが向上します。さらに、レポート ビューアーやエンドユーザー レポート デザイナーを使用することで、レポートのレンダリングが迅速に行えます。

大規模データセットをスムーズに処理する

大規模なデータセットを扱う際は、パフォーマンスのボトルネックやメモリ問題を避けるため、慎重に対処してください。 サーバーリソースを過剰に消費したり、ブラウザーのタイムアウトを発生させることなく、大規模なデータセットを効率的に処理およびレンダリングするために、サーバーサイド処理やストリーミング技術を検討してください。

キャッシュレポート

頻繁にアクセスされるレポートをキャッシュしてサーバー負荷を軽減し、応答性を向上させます。 レポートの性質や使用パターンに応じて、データキャッシュ、出力キャッシュ、またはフルページキャッシュなど、さまざまなレベルでキャッシングメカニズムを実装してください。 キャッシュデータが最新の状態を保つように、キャッシュの有効期限ポリシーを設定します。

レポートレイアウトの最適化

ユーザビリティと可読性を考慮してレポートレイアウトを設計します。 データを論理的に整理し、明確で説明的なラベルを使用し、色やアイコンなどの視覚的な手がかりを活用してデータの解釈を強化します。 異なる媒体で一貫したレンダリングを確保するために、オンライン表示と印刷の両方に適したレポートレイアウトを最適化します。

エクスポートオプションを提供する

ユーザーに、CrystalレポートをPDF、Excel、Word、またはCSVなどのさまざまな形式にエクスポートする機能を提供します。エクスポートオプションを提供することで、アプリケーションの使いやすさが向上し、ユーザーはCrystalレポートデータを希望の形式で共有、分析、およびアーカイブすることができます。 レポートビルダーを使用して、カスタムのエクスポート機能を必要に応じて実装するか、複数のエクスポート形式をサポートするレポートツールやライブラリを活用してください。

セキュアなレポートアクセス

認証および認可のメカニズムを実装して、機密レポートおよび複数のデータソースへのアクセスを制御します。 認可されたユーザーのみが機密情報や専有情報を含むレポートの表示、生成、またはエクスポートする権限を持つようにしてください。 伝送と保存中に不正アクセスから保護するために、ボールドレポートサーバーデータを暗号化することを検討してください。

パフォーマンスの監視と最適化

レポート生成プロセスの性能を継続的に監視し、最適化のための改善点を特定します。 データベースクエリ、サーバーサイドの処理時間、およびクライアントサイドのレンダリングパフォーマンスを分析するためにパフォーマンスプロファイリングツールを使用します。 データベースのインデックス、クエリ実行計画、およびキャッシング戦略をパフォーマンス指標に基づいて最適化し、最適なレポート生成パフォーマンスを実現します。

これらのベストプラクティスを遵守することで、ASP.NETアプリケーションにおいて効率的で、安全、そしてユーザーフレンドリーなレポート生成を保証し、ユーザーがデータから有効な洞察を引き出すことを可能にします。

ASP.NET Coreで一般的に使用されるレポートツール

Microsoft SQL Server Reporting Services (SSRS (SQL Server Reporting Services))**

マイクロソフト SQL サーバー レポーティング サービス (SSRS (SQL Server Reporting Services))

Microsoft SQL Server Reporting Services(マイクロソフト SQL Server レポーティング サービス) (SSRS (SQL Server Reporting Services)) MicrosoftがSQL Serverツール群の一部として提供している包括的なレポーティングプラットフォームです。 SSRS レポート サーバーは、企業がインタラクティブで視覚的に魅力的なさまざまなレポートを作成、管理、および配信できるようにして、データ分析に基づいて情報に基づいた意思決定を行うのに役立ちます。

DevExpress Reporting(デブエクスプレス レポーティング)

DevExpressは、レポートデザイナー、データビジュアライゼーションコントロール、およびエクスポート機能を含む、ASP.NET Core用の包括的なレポートツールセットを提供します。 インタラクティブで視覚的に魅力的なレポートを作成するための、豊富な機能セットを提供します。

Syncfusion レポート

Syncfusionは、ASP.NET Coreと互換性のあるレポート作成ツールのスイートを提供しており、レポートデザイナー、レポートビューワー、およびレポートサーバーが含まれます。 それはさまざまなデータソースとエクスポート形式をサポートしており、多様なレポートニーズに適しています。

テレリックレポート

Telerik Reportingは、ASP.NET Core開発者にとってもう一つの人気の選択肢です。 それは、使いやすいレポートデザイナー、さまざまなデータソースのサポート、ASP.NET Coreアプリケーションとのスムーズな統合を提供します。 Telerik Reportingはインタラクティブレポートやさまざまな形式へのエクスポートなどの機能も提供しています。

GrapeCityアクティブレポート

GrapeCityのActiveReportsは、ASP.NET Coreをサポートする多機能なレポーティングツールセットです。 レポートデザイナーのドラッグアンドドロップ機能、豊富なデータ可視化オプション、およびレポートをPDF、Excelなどの形式でエクスポートするサポートを提供します。

クリスタルレポート

Crystal Reportsは、現在SAPの所有となっており、.NETエコシステムにおいて長年の報告ソリューションとして知られています。 Crystal Reportはしばらく前から存在していますが、Crystal Reportsは依然としてサードパーティ製の拡張機能を通じてASP.NET Coreをサポートし、レポートの設計、表示、およびエクスポートのためのレポートビルダー機能を提供しています。

スティムルソフトレポート

Stimulsoft Reportsは、ASP.NET Coreをサポートする多機能なレポート作成ツールです。 レポートを作成するためのレポートデザイナー、ビューア、および幅広いカスタマイズオプションを提供します。

ASP.NET Core向けのレポートツールを選択する際には、統合の容易さ、機能セット、ライセンス費用、データソースおよびエクスポートフォーマットのサポート、コミュニティ/ユーザーフィードバックなどの要素を考慮することが重要です。 さらに、トライアルバージョンやデモを評価することで、特定のレポーティングツールがプロジェクトの具体的な要件を満たしているかどうかを判断するのに役立ちます。

IronPDFライブラリの紹介

IronPDFは、IronSoftwareによって開発され、.NETエコシステム内でPDFドキュメントの生成、修正、および読み取りにおいて、汎用性が高く包括的なソリューションとして際立っています。 このクロスプラットフォームライブラリは、開発者がHTML、画像、その他のドキュメント形式に関係なく、PDFをシームレスに作成、編集、署名できるようにします。 以下にIronPDFの主要なハイライトを示します。

HTMLをPDFに変換

IronPDFは、CSS、画像、JavaScriptを含むHTMLコンテンツを洗練されたPDFドキュメントに変換します。 WebページやRazorビューのレンダリング (Blazor Serverなど), CSHTML

(MVC)ASPX (WebForms(ウェブフォーム))、またはXAML (MAUI), IronPDFはシームレスなPDFフォーマットへの変換を保証します。

ピクセルパーフェクトレンダリング

IronPDFでは、レンダリングの精度が最重要です。 それは、UTF-8文字エンコーディング、ベースURL、アセットエンコーディング、さらにTLSウェブサイトログインをサポートすることにより、コンテンツの視覚的な整合性を維持し、最終的なPDFが元のコンテンツに忠実に一致することを保証します。

ページテンプレートと設定

IronPDFの豊富なカスタマイズオプションを使用して、PDFドキュメントを正確な仕様に合わせて調整できます。 見出し、フッター、ページ番号、改ページを追加して、読みやすさとナビゲーション性を向上させましょう。 さらに、IronPDF はレスポンシブレイアウト、カスタム用紙サイズ、用紙の向き、および幅広いカラーオプションを提供します。

編集と注釈

IronPDFは、PDFメタデータの編集、電子署名、および注釈の適用に対する強力な機能を提供します。 PDF内のページを簡単に結合、分割、追加、コピー、および削除。 IronPDFを使用すると、ユーザーはインタラクティブにフォームに記入し、注釈を追加することができ、これによりコラボレーションやドキュメント管理が向上します。

クロスプラットフォームサポート

IronPDFの注目すべき強みの一つは、さまざまなプラットフォームにわたる広範な互換性です。 .NET Coreで開発している場合でも (バージョン 8、7、6、5、および 3.1+), .NET Standard (バージョン 2.0+)または .NET Framework (バージョン 4.6.2+)IronPDFはあなたをサポートします。 さらに、Windows、Linux、およびmacOS環境でシームレスに操作でき、多様な開発エコシステムにおける柔軟性とアクセス性を保証します。

ステップ1: Visual Studio ASP.NET Coreアプリケーションの作成

Visual Studio で ASP.NET Core アプリケーションを作成することから始めましょう。

以下のようにテンプレートを選択します。

ASP.NETを使用してPDFレポートを生成する方法:図1 - ASP.NET Core Web Appテンプレート

アプリケーション名と場所を選択してください。

ASP.NETによるPDFレポートの生成方法: 図2 - プロジェクト構成

希望する .NET のバージョンを選択し、「作成」ボタンをクリックしてください。

ASP.NETを使用してPDFレポートを生成する方法:図3 - ターゲットフレームワーク

これは以下のようなBlazorベースのASP.NET Webアプリケーションを作成します。

ASP.NETを使用してPDFレポートを生成する方法: 図4 - Blazorアプリ

ステップ2: PDFレポート生成ライブラリ: IronPDFをダウンロードしてインストールする

IronPDFライブラリは以下のようにVisual Studioパッケージマネージャーを使用してプロジェクトにインストールできます。

ASP.NETを使用してPDFレポートを生成する方法: 図5 - IronPDF

以下はNuGetギャラリーからの情報です。

ASP.NETを使用してPDFレポートを生成する方法: 図6 - NuGetギャラリー

dotnet add package IronPdf --version 2024.4.2
dotnet add package IronPdf --version 2024.4.2
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf --version 2024.4.2
VB   C#

ステップ 3: レポートをHTMLドキュメントとして生成する

レポートは、上記のセクションで説明されたさまざまな方法とツールを使用して生成できます。 デモのために、以下に示すようなツールの一つを使用して既に作成されたレポートを考えてみましょう。 ASP.NET Coreアプリケーションで表示された生成レポートは、HTMLとしても保存できます。

ASP.NETを使用してPDFレポートを生成する方法: 図7 - レポートライター

このレポートはサンプルHTMLファイルですが、生成された任意のレポートに置き換えることができます。

ステップ4:IronPDFライブラリを使用してPDFレポートを生成します

using IronPdf;
    // create Renderer
    var rer = new ChromePdfRenderer();
    // Create a PDF from an existing HTML file using C#
    var pdf = rer.RenderHtmlFileAsPdf("sample.html");
    // Export to a file or Stream
    pdf.SaveAs("output.pdf"); // save reports
using IronPdf;
    // create Renderer
    var rer = new ChromePdfRenderer();
    // Create a PDF from an existing HTML file using C#
    var pdf = rer.RenderHtmlFileAsPdf("sample.html");
    // Export to a file or Stream
    pdf.SaveAs("output.pdf"); // save reports
Imports IronPdf
	' create Renderer
	Private rer = New ChromePdfRenderer()
	' Create a PDF from an existing HTML file using C#
	Private pdf = rer.RenderHtmlFileAsPdf("sample.html")
	' Export to a file or Stream
	pdf.SaveAs("output.pdf") ' save reports
VB   C#

コードの説明

ここでは、RenderHtmlFileAsPdfメソッドを使用してHTMLをPDFに変換するためにChromePdfRendererを使用しています。

結果はoutput.pdfという名前のファイルに保存されます。

出力

ASP.NETを使用してPDFレポートを生成する方法:図8 - PDF出力

ライセンス (無料試用版の提供)

IronPDFをソリューションで実行するにはライセンスキーが必要です。これをappsettings.jsonファイルに配置してください。

"IronPdf.LicenseKey": "your license key"
"IronPdf.LicenseKey": "your license key"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'"IronPdf.LicenseKey": "your license key"
VB   C#

無料の試用ライセンスキーは、IronPDFの試用ライセンスを登録することで入手できます。 トライアルライセンスページ.

結論

結論として、ASP.NETはMicrosoft ReportViewerという組み込みのレポートツールのおかげで、動的でインタラクティブなレポートを生成するための強力なプラットフォームを提供します。 ReportViewerとベストプラクティスを活用することで、開発者はASP.NETアプリケーションにおけるレポート生成のプロセスを効率化し、データから得られた実用的な洞察に基づいて意思決定を行う企業に力を与えることができます。 財務報告、販売ダッシュボード、または分析概要など、ASP.NETは現代のWebアプリケーションの多様な報告ニーズを満たすために必要なツールと技術を提供します。

IronPDFは、.NET環境内でのPDF関連ニーズに対応するための包括的かつ多用途なライブラリとして登場しました。 その豊富な機能セットとクロスプラットフォーム互換性により、PDF機能をシームレスにアプリケーションに統合しようとしている開発者にとって貴重なツールとなっています。

< 以前
C# 仮想と抽象(開発者向けの使い方)
次へ >
Blazor ハイブリッドアプリ (開発者向けの仕組み)

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

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