C#でSAP Crystal ReportsからIronPDFに移行する方法
SAP Crystal ReportsからIronPDFへの移行:完全なC#移行ガイド
SAP Crystal ReportsからIronPdfに移行することで、複雑なデプロイ要件を持つヘビー級のレガシープラットフォームから、最新の軽量なNuGetパッケージへとレポートワークフローが変わります。 このガイドでは、500MBを超える巨大なランタイムのインストールを排除し、SAPエコシステムのロックインを排除し、.NET Core/5/6/7/8+の完全サポートを可能にする、完全で段階的な移行パスを提供します。
なぜSAP Crystal ReportsからIronPDFへ移行するのか
SAPクリスタルレポートを理解する
SAP Crystal Reports は、ダイナミックで"ピクセルパーフェクト"なレポートを作成するツールとして、エンタープライズ分野で際立っています。SAP Crystal Reportsは、さまざまなデータソースに接続できることが評価され、包括的なレポート機能を求める多くの企業で採用されてきました。 Crystal Reports Designer は、複雑なレポートレイアウトの作成を簡素化するツールです。
しかし、テクノロジーの進化に伴い、SAP Crystal Reports の SAP フレームワークへの依存度が高く、インストールやデプロイの要件が厳しいことも見逃せなくなっています。 重量級であるため、企業がシステムを完全に実装し、維持するには、多くのリソースと時間が必要になります。
移行する主な理由
1.大量インストール:Crystal Reports Runtimeは500MB以上あり、複雑なインストールが必要です。 2.SAPエコシステムのロックイン:SAPの価格設定、サポートサイクル、製品ロードマップに関連しています。 3.複雑なライセンス:SAPのエンタープライズセールスプロセスを使用したプロセッサ/ユーザごとのライセンシング 4.レガシー・アーキテクチャ: 最新の64ビット展開を複雑にする32ビットのCOM依存関係 5..NETコアの非推奨サポート:最新の.NETプラットフォームに対する限定的なサポート 6.レポートデザイナーの依存性:Visual Studioの拡張機能またはスタンドアロン・デザイナーが必要です。 7.遅いパフォーマンス: 重いランタイムの初期化とメモリフットプリント
SAP Crystal Reportsの隠れたコスト
| コスト要因 | SAP Crystal Reports | IronPDF |
|---|---|---|
| ランタイムサイズ | 500MB以上 | 約20MB |
| インストール | 複雑なMSI/セットアップ | NuGetパッケージ |
| デプロイメント | 特別なインストーラ | コピー |
| 64ビット対応 | 問題点 | ネイティブ |
| .NET Core/5/6/7/8 | 制限的 | フルサポート |
| クラウドデプロイメント | 難易度 | 単純 |
| Linux/ドッカー | なし | はい |
SAP Crystal ReportsとIronPDFの比較
| フィーチャー | SAP Crystal Reports | IronPDF |
|---|---|---|
| 主な機能 | エンタープライズレポートプラットフォーム | HTMLからPDFへの変換エンジンとPDF操作 |
| 統合。 | SAPエコシステム内で最適 | 最新の.NET統合、軽量NuGetパッケージ |
| 使いやすさ | 複雑なセットアップとデプロイメント | 統合を簡素化し、.NET開発者をサポート |
| レポートデザイナー | 必須 | オプション(HTML/CSS) |
| テンプレート形式 | .rpt (バイナリ) | HTML/CSS |
| HTMLからPDFへ | なし | 完全なChromium |
| URLからPDFへ。 | なし | はい |
| CSSサポート | なし | 完全なCSS3 |
| JavaScript(ジャバスクリプト | なし | フルES2024 |
| PDF操作 | なし | フル(マージ、分割、編集) |
| デジタル署名。 | なし | はい |
| PDF/Aコンプライアンス | なし | はい |
| 現代的妥当性 | 衰退し、最新の代替言語に取って代わられる | 現代的で、現代の技術にうまく統合されていること。 |
2025年、2026年まで.NET 10とC# 14の導入を計画しているチームにとって、IronPDFはSAP Crystal Reportsでは提供できないネイティブのクロスプラットフォームサポートを提供します。
始める前に
前提条件
1..NET環境:.NET フレームワーク4.6.2+ または .NET Core 3.1+ / .NET 5/6/7/8/9+. 2.NuGetアクセス:NuGetパッケージをインストールする能力。 3.IronPDFライセンス:ironPdf.comからライセンスキーを取得してください。
NuGetパッケージの変更
# Remove Crystal Reports packages
dotnet remove package CrystalDecisions.CrystalReports.Engine
dotnet remove package CrystalDecisions.Shared
dotnet remove package CrystalDecisions.ReportAppServer
dotnet remove package CrystalDecisions.Web
# Remove legacy assemblies from project references
# Check for: CrystalDecisions.*.dll in project references
# Install IronPDF
dotnet add package IronPdf# Remove Crystal Reports packages
dotnet remove package CrystalDecisions.CrystalReports.Engine
dotnet remove package CrystalDecisions.Shared
dotnet remove package CrystalDecisions.ReportAppServer
dotnet remove package CrystalDecisions.Web
# Remove legacy assemblies from project references
# Check for: CrystalDecisions.*.dll in project references
# Install IronPDF
dotnet add package IronPdfライセンス構成
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IRON VB CONVERTER ERROR developers@ironsoftware.com完全な API リファレンス
名前空間の変更
// Before: SAP Crystal Reports
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using CrystalDecisions.ReportAppServer;
// After: IronPDF
using IronPdf;// Before: SAP Crystal Reports
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using CrystalDecisions.ReportAppServer;
// After: IronPDF
using IronPdf;IRON VB CONVERTER ERROR developers@ironsoftware.comコア API マッピング
| SAP Crystal Reports | IronPDF | ノート |
|---|---|---|
| <コード>ReportDocument</コード | <コード>ChromePdfRenderer</コード | コアレンダリング |
ReportDocument.Load()。 | <コード>RenderHtmlAsPdf()</コード | コンテンツを読み込む |
.rptファイル | HTML/CSSテンプレート | テンプレート形式 |
| <コード>SetDataSource()</コード | データ付きHTML | データバインディング |
SetParameterValue()(セットパラメータ値)。 | 文字列の補間 | パラメータ |
| <コード>ExportToDisk()</コード></コード | <コード>pdf.SaveAs()</コード | ファイルを保存 |
| <コード>ExportToStream()</コード | <コード>pdf.BinaryData</コード | バイト |
PrintToPrinter()を使用してください。 | <コード>pdf.Print()</コード | 印刷 |
| <コード>データベース.テーブル</コード | C#データアクセス | データソース |
| <コード>FormulaFieldDefinitions</コード | C#ロジック | 計算 |
| <コード>概要情報</コード | <コード>pdf.MetaData</コード | PDFメタデータ |
ExportFormatType.PortableDocFormat。 | デフォルト出力 | PDFネイティブ |
コード移行の例
例1: HTMLからPDFへの変換
翻訳前(SAP Crystal Reports):
// NuGet: Install-Package CrystalReports.Engine
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System;
class Program
{
static void Main()
{
// Crystal Reports requires a .rpt file template
ReportDocument reportDocument = new ReportDocument();
reportDocument.Load("Report.rpt");
// Crystal Reports doesn't directly support HTML
// You need to bind data to the report template
// reportDocument.SetDataSource(dataSet);
ExportOptions exportOptions = reportDocument.ExportOptions;
exportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
exportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
DiskFileDestinationOptions diskOptions = new DiskFileDestinationOptions();
diskOptions.DiskFileName = "output.pdf";
exportOptions.DestinationOptions = diskOptions;
reportDocument.Export();
reportDocument.Close();
reportDocument.Dispose();
}
}// NuGet: Install-Package CrystalReports.Engine
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System;
class Program
{
static void Main()
{
// Crystal Reports requires a .rpt file template
ReportDocument reportDocument = new ReportDocument();
reportDocument.Load("Report.rpt");
// Crystal Reports doesn't directly support HTML
// You need to bind data to the report template
// reportDocument.SetDataSource(dataSet);
ExportOptions exportOptions = reportDocument.ExportOptions;
exportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
exportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
DiskFileDestinationOptions diskOptions = new DiskFileDestinationOptions();
diskOptions.DiskFileName = "output.pdf";
exportOptions.DestinationOptions = diskOptions;
reportDocument.Export();
reportDocument.Close();
reportDocument.Dispose();
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
string htmlContent = "<h1>Hello World</h1><p>This is a PDF generated from HTML.</p>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
string htmlContent = "<h1>Hello World</h1><p>This is a PDF generated from HTML.</p>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comこの例は、基本的なパラダイムの違いを示しています。 SAP Crystal Reportsでは、Crystal Reports Designerで作成された.rptファイルテンプレートが必要です。その後、ExportOptions、ExportDestinationType、ExportFormatType、DiskFileDestinationOptionsを設定する必要があります。 ライブラリはHTMLコンテンツを直接サポートしていません。
IronPDFはHTML文字列を直接受け取ります: ChromePdfRendererを作成し、任意のHTMLコンテンツでRenderHtmlAsPdf()を呼び出し、SaveAs()します。 デザイナー不要、バイナリテンプレート不要、複雑なエクスポート設定不要。 包括的な例については、HTML to PDF documentationを参照してください。
例2: URLからPDFへの変換
翻訳前(SAP Crystal Reports):
// NuGet: Install-Package CrystalReports.Engine
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System;
using System.Net;
class Program
{
static void Main()
{
// Crystal Reports cannot directly convert URLs to PDF
// You need to create a report template first
// Download HTML content
WebClient client = new WebClient();
string htmlContent = client.DownloadString("https://example.com");
// Crystal Reports requires .rpt template and data binding
// This approach is not straightforward for URL conversion
ReportDocument reportDocument = new ReportDocument();
reportDocument.Load("WebReport.rpt");
// Manual data extraction and binding required
// reportDocument.SetDataSource(extractedData);
reportDocument.ExportToDisk(ExportFormatType.PortableDocFormat, "output.pdf");
reportDocument.Close();
reportDocument.Dispose();
}
}// NuGet: Install-Package CrystalReports.Engine
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System;
using System.Net;
class Program
{
static void Main()
{
// Crystal Reports cannot directly convert URLs to PDF
// You need to create a report template first
// Download HTML content
WebClient client = new WebClient();
string htmlContent = client.DownloadString("https://example.com");
// Crystal Reports requires .rpt template and data binding
// This approach is not straightforward for URL conversion
ReportDocument reportDocument = new ReportDocument();
reportDocument.Load("WebReport.rpt");
// Manual data extraction and binding required
// reportDocument.SetDataSource(extractedData);
reportDocument.ExportToDisk(ExportFormatType.PortableDocFormat, "output.pdf");
reportDocument.Close();
reportDocument.Dispose();
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF from a URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created from URL successfully!");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF from a URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created from URL successfully!");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comSAP Crystal Reports では、URLを直接 PDF に変換することはできません。 WebClient<//code> を使って HTML コンテンツを手動でダウンロードし、そのデータを何らかの方法で抽出して、あらかじめデザインされた .rpt<//code> テンプレートにバインドする必要があります。
IronPDFのRenderUrlAsPdf()メソッドは、すべてのCSS、JavaScript、画像を含む完全にレンダリングされたウェブページを一回の呼び出しで取り込みます。 詳しくは、チュートリアルをご覧ください。
例3:ページ番号を含むヘッダーとフッター
翻訳前(SAP Crystal Reports):
// NuGet: Install-Package CrystalReports.Engine
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System;
class Program
{
static void Main()
{
// Crystal Reports requires design-time configuration
ReportDocument reportDocument = new ReportDocument();
reportDocument.Load("Report.rpt");
// Headers and footers must be designed in the .rpt file
// using Crystal Reports designer
// You can set parameter values programmatically
reportDocument.SetParameterValue("HeaderText", "Company Name");
reportDocument.SetParameterValue("FooterText", "Page ");
// Crystal Reports handles page numbers through formula fields
// configured in the designer
reportDocument.ExportToDisk(ExportFormatType.PortableDocFormat, "output.pdf");
reportDocument.Close();
reportDocument.Dispose();
}
}// NuGet: Install-Package CrystalReports.Engine
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System;
class Program
{
static void Main()
{
// Crystal Reports requires design-time configuration
ReportDocument reportDocument = new ReportDocument();
reportDocument.Load("Report.rpt");
// Headers and footers must be designed in the .rpt file
// using Crystal Reports designer
// You can set parameter values programmatically
reportDocument.SetParameterValue("HeaderText", "Company Name");
reportDocument.SetParameterValue("FooterText", "Page ");
// Crystal Reports handles page numbers through formula fields
// configured in the designer
reportDocument.ExportToDisk(ExportFormatType.PortableDocFormat, "output.pdf");
reportDocument.Close();
reportDocument.Dispose();
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
// Configure headers and footers
renderer.RenderingOptions.TextHeader.CenterText = "Company Name";
renderer.RenderingOptions.TextHeader.FontSize = 12;
renderer.RenderingOptions.TextFooter.LeftText = "Confidential";
renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}";
renderer.RenderingOptions.TextFooter.FontSize = 10;
string htmlContent = "<h1>Document Title</h1><p>Document content goes here.</p>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF with headers and footers created!");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
// Configure headers and footers
renderer.RenderingOptions.TextHeader.CenterText = "Company Name";
renderer.RenderingOptions.TextHeader.FontSize = 12;
renderer.RenderingOptions.TextFooter.LeftText = "Confidential";
renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}";
renderer.RenderingOptions.TextFooter.FontSize = 10;
string htmlContent = "<h1>Document Title</h1><p>Document content goes here.</p>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF with headers and footers created!");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comSAP Crystal Reports では、ヘッダーとフッターをデザイン時に設定する必要があります。 Crystal Reports Designer を使用して .rpt ファイルを設計し、実行時に "HeaderText" や "FooterText" などのパラメータ値を渡す必要があります。ページ番号は、デザイナーの数式フィールドで設定する必要があります。
IronPDFはTextHeaderとTextFooterプロパティでプログラムによるヘッダー/フッターの設定を提供します。 CenterText、LeftText、RightText、および FontSizeをコード内で直接設定します。 ページ番号は{page}と{total-pages}プレースホルダーを使用します。
よくある移行の問題
課題1:.rptファイルの変換
SAP Crystal Reports: レイアウト、データ、数式が埋め込まれたバイナリ.rptファイル。
解決策:直接変換することはできません-HTMLとして再作成する必要があります: 1.Crystal Reports デザイナーで .rpt を開く 2.文書のレイアウト、フォント、色 3.すべての数式フィールドに注意 4.HTML/CSSで再作成 5.数式をC#コードに変換する
課題2: データベース接続
SAP Crystal Reports: 組み込み接続文字列とODBC。
ソリューション: アプリケーションのデータレイヤーを使用してください:
// Instead of Crystal's database integration
var data = await _dbContext.Orders
.Where(o => o.Date >= startDate && o.Date <= endDate)
.ToListAsync();
// Bind to HTML template
var html = GenerateReportHtml(data);// Instead of Crystal's database integration
var data = await _dbContext.Orders
.Where(o => o.Date >= startDate && o.Date <= endDate)
.ToListAsync();
// Bind to HTML template
var html = GenerateReportHtml(data);IRON VB CONVERTER ERROR developers@ironsoftware.com課題 3:ランタイム依存性
SAP Crystal Reports: Crystal Reports Runtimeのインストール(500MB以上)が必要です。
ソリューション: IronPDFは自己完結しています:
# Just add theNuGetpackage
dotnet add package IronPdf
# That's it - no additional installs needed# Just add theNuGetpackage
dotnet add package IronPdf
# That's it - no additional installs needed第4号:32ビット/64ビットの問題
SAP Crystal Reports: COM の依存関係には 32 ビットモードが必要なことがよくあります。
ソリューション: IronPDFはネイティブの64ビットで、特別な設定は必要ありません。
移行後の新機能
IronPDFに移行することで、SAP Crystal Reportsが提供できない機能を得ることができます:
PDFマージ
var pdf1 = PdfDocument.FromFile("report1.pdf");
var pdf2 = PdfDocument.FromFile("report2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("complete_report.pdf");var pdf1 = PdfDocument.FromFile("report1.pdf");
var pdf2 = PdfDocument.FromFile("report2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("complete_report.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comPDFのセキュリティ
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(reportHtml);
pdf.MetaData.Title = "Quarterly Sales Report";
pdf.MetaData.Author = "Finance Department";
pdf.SecuritySettings.OwnerPassword = "admin123";
pdf.SecuritySettings.UserPassword = "view123";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SaveAs("secure_report.pdf");var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(reportHtml);
pdf.MetaData.Title = "Quarterly Sales Report";
pdf.MetaData.Author = "Finance Department";
pdf.SecuritySettings.OwnerPassword = "admin123";
pdf.SecuritySettings.UserPassword = "view123";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SaveAs("secure_report.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comデジタル署名
var signature = new PdfSignature("certificate.pfx", "password");
pdf.Sign(signature);var signature = new PdfSignature("certificate.pfx", "password");
pdf.Sign(signature);IRON VB CONVERTER ERROR developers@ironsoftware.comウォーターマーク
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>DRAFT</h1>");pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>DRAFT</h1>");IRON VB CONVERTER ERROR developers@ironsoftware.com機能比較の概要
| フィーチャー | SAP Crystal Reports | IronPDF |
|---|---|---|
| インストール。 | ||
| ランタイムサイズ | 500MB以上 | 約20MB |
| インストール方法 | MSI/Setup.exe | NuGet |
| デプロイメント | 複雑 | コピー |
| プラットフォームサポート | ||
| .NET フレームワーク | はい | はい |
| .NET Core/5/6/7/8 | 制限的 | フル |
| 64ビットネイティブ | 問題点 | はい |
| Linux/ドッカー | なし | はい |
| Azure/AWS | 難易度 | 単純 |
| 開発分野 | ||
| レポートデザイナー | 必須 | オプション(HTML) |
| テンプレート形式 | .rpt (バイナリ) | HTML/CSS |
| 学習曲線 | クリスタルの構文 | ウェブ標準 |
| インテリセンス | なし | 完全なC#言語 |
| レンダリング。 | ||
| HTMLからPDFへ | なし | 完全なChromium |
| URLからPDFへ | なし | はい |
| CSSサポート | なし | 完全なCSS3 |
| JavaScript | なし | フルES2024 |
| PDFの特長 | ||
| PDFのマージ | なし | はい |
| PDFの分割 | なし | はい |
| 透かし | 制限的 | フルHTML |
| デジタル署名 | なし | はい |
| PDF/A | なし | はい |
移行チェックリスト
移行前
- [ ] すべての
.rptファイルをインベントリーする - [参考のため、各レポートのレイアウトをスクリーンショットしてください。
- [ドキュメント式フィールドと計算
- [すべてのデータソースとパラメータのリスト
- [印刷要件の確認
- [ironpdf.comからIronPDFライセンスキーを入手してください。
コードの更新
- [ ] Crystal Reports パッケージ(
CrystalDecisions.CrystalReports.Engineなど)を削除する。 - [ ] デプロイメントからランタイムインストールを削除する
- [ ]
IronPdfNuGetパッケージをインストールしてください。 - [ ]
.rptレイアウトをHTML/CSSテンプレートに変換する - [クリスタル数式を C# コードに変換する。
- [ ]
SetDataSource()からHTML文字列補間へのデータバインディングの更新 - [ ]
PrintToPrinter()からpdf.Print()に印刷コードを更新してください。 - [アプリケーション起動時のライセンス初期化機能の追加
インフラ
- [サーバーから Crystal Runtime を削除する。
- [デプロイスクリプトの更新
- [32 ビット互換モードの削除
- [Docker イメージの更新(該当する場合)
テスティング
- [PDF 出力と元のレポートの比較
- [すべての計算の検証
- [すべてのパラメータをテスト
- [印刷機能のテスト
- [パフォーマンステスト
- [64ビットテスト
結論
SAP Crystal Reports は、レガシーなエンタープライズレポーティングのための堅牢なプラットフォームである一方、現代的な柔軟性に欠けるため、ダイナミックで先進的な組織にとっては魅力に欠けることも少なくありません。 このプラットフォームの500MBを超えるランタイム、複雑なデプロイメント、限られた.NET Coreサポートにより、メンテナンスに大きな負担がかかります。
この移行における主な変更点は以下のとおりです: 1.アーキテクチャ: ヘビー級エンタープライズプラットフォーム → 軽量NuGetパッケージ 2.サイズ: 500MB+ランタイム → ~20MB 3.テンプレート:バイナリ.rptファイル → HTML/CSS 4.デザイナー:必須 Crystal Reports Designer → オプション(任意の HTML エディタを使用) 5.データバインディング:SetDataSource() → C# 文字列補間 6.パラメータ:SetParameterValue() → C#の標準変数 7.エクスポート:複雑なExportOptions → 単純なpdf.SaveAs()。 8.ヘッダー/フッター:設計時の設定 → ランタイムの TextHeader/TextFooter 9.ページ番号:数式フィールド → {page}と{total-pages}プレースホルダ 10.プラットフォーム:制限付き .NET Core → 完全なクロスプラットフォームサポート 11.新機能:PDFマージ、分割、セキュリティ、電子署名、PDF/A
SAP Crystal ReportsとIronPDFのどちらを選択するかは、組織のセットアップと将来の目標に大きく依存します。SAP Crystal Reportsは、SAP のエコシステムに深く組み込まれ、包括的なレポート作成機能を求める企業にとって、比類のない製品です。 一方、.NETを使ったウェブ主導の取り組みに着手し、合理化されたPDF変換エンジンを探している組織は、IronPDFが非常に有利であることがわかるでしょう。
IronPDFドキュメント、チュートリアル、APIリファレンスを参照して、SAP Crystal Reportsへの移行を促進してください。






