C#でEasy PDF SDKからIronPDFへ移行する方法
イージーPDF SDKからIronPDFへの移行:完全なC#移行ガイド
BCL Easy PDF SDKは、仮想プリンタドライバとMicrosoft Officeオートメーションを利用した、Windows環境におけるPDF生成のための伝統的なソリューションでした。 しかし、Windowsのみのアーキテクチャ、COMの相互運用依存関係、およびインタラクティブなユーザーセッションの要件により、最新のアプリケーションには基本的な展開上の課題があります。 この包括的なガイドでは、Easy PDF SDKからIronPdf(クロスプラットフォームサポート、Chromiumベースのレンダリング、コンテナ化されたデプロイメント機能を持つ.NETネイティブPDFライブラリ)への移行パスをステップバイステップで提供します。
なぜEasy PDF SDKから移行するのですか?
Easy PDF SDKは、いくつかのレガシー技術に依存しており、最新の開発環境におけるデプロイとメンテナンスに大きな課題があります。
よくあるイージーPDF SDKデプロイメントの問題
開発者は、Easy PDF SDKを使用する際に、このような問題に頻繁に遭遇します:
bcl.easypdf.interop.easypdfprinter.dllのロードエラー基礎となるRCWから分離されたCOMオブジェクトは使用できません。印刷ジョブの完了待ちのタイムアウトが切れました。サービスが実行されていないため、プリンタの操作に失敗しました。エラー:アクセスが拒否されました。プリンタが見つかりません:BCL easyPDF プリンタ。
これらのエラーは、Easy PDF SDKの基本的なアーキテクチャに起因しています。それは、仮想プリンタドライバ、COMインターオプ、およびインタラクティブなWindowsセッションを必要としますが、これらは単に最新のサーバ環境には存在しません。
Easy PDF SDKとIronPDFの比較:主な違い
| フィーチャー | イージーPDF SDK | IronPDF |
|---|---|---|
| プラットフォーム | Windowsのみ | Windows、Linux、macOS、Docker |
| オフィス依存 | 必須 | なし |
| インストール。 | 複雑なMSI + プリンタドライバ + COM | シンプルなNuGetパッケージ |
| サーバーサポート | インタラクティブなセッションが必要 | ヘッドレスで動作 |
| HTMLレンダリング。 | 基本(オフィスベース) | フルChromium(CSS3、JS) |
| .NETサポート | .NET Core限定 | 完全な.NET 5/6/7/8/9 |
| 非同期パターン | コールバックベース | ネイティブasync/await |
| コンテナサポート | 実行不可 | 完全なDocker/Kubernetes |
プラットフォームの制限
Easy PDF SDKは、変換のためにMicrosoft Officeのインストールを必要とするWindowsシステムに独占的に依存しているため、Linux、macOS、またはDockerのようなコンテナ化された環境のサポートは除外されています。 このような依存関係は、サーバーのセットアップを煩雑にし、Windows環境へのサービス導入を制限します。これは、マルチプラットフォームDevOpsを実践しているチームや、デプロイにコンテナを使用しているチームにとって大きな制約となります。
移行前の準備
前提条件
あなたの環境がこれらの要件を満たしていることを確認してください:
- .NET Framework 4.6.2+または.NET Core 3.1 / .NET 5-9
- Visual Studio 2019+またはC#拡張機能付きVS Code
- NuGetパッケージマネージャへのアクセス
- IronPDFライセンスキー (ironpdf.com にて無料トライアル可能)
かんたんPDF SDKの使用法
</aソリューションディレクトリでこれらのコマンドを実行し、すべてのEasy PDF SDK参照を識別してください:
# Find all BCL using statements
grep -r "using BCL" --include="*.cs" .
# Find Printer/PDFDocument usage
grep -r "Printer\|PDFDocument\|PDFConverter\|HTMLConverter" --include="*.cs" .
# Find COM interop references
grep -r "easyPDF\|BCL.easyPDF" --include="*.csproj" .
# Find configuration settings
grep -r "PageOrientation\|TimeOut\|PrintOffice" --include="*.cs" .# Find all BCL using statements
grep -r "using BCL" --include="*.cs" .
# Find Printer/PDFDocument usage
grep -r "Printer\|PDFDocument\|PDFConverter\|HTMLConverter" --include="*.cs" .
# Find COM interop references
grep -r "easyPDF\|BCL.easyPDF" --include="*.csproj" .
# Find configuration settings
grep -r "PageOrientation\|TimeOut\|PrintOffice" --include="*.cs" .予想される画期的な変更
| Easy PDF SDKパターン | 必要な変更 |
|---|---|
new Printer(). | ChromePdfRendererを使用してください。 |
| <コード>PrintOfficeDocToPDF()</コード | Officeの変換は別扱い |
| <コード>RenderHTMLToPDF()</コード | <コード>RenderHtmlAsPdf()</コード |
| COM相互運用リファレンス | 完全に削除 |
| プリンタドライバの設定 | 不要 |
BeginPrintToFile()コールバック | ネイティブasync/await |
| インタラクティブセッションの要件 | ヘッドレスで動作 |
| 1ベースのページインデックス | 0ベースのインデックス |
| タイムアウト(秒 | タイムアウト(ミリ秒 |
ステップごとの移行プロセス
ステップ1:Easy PDF SDKを削除する
Easy PDF SDKは通常、MSIインストーラ、手動DLL参照、またはGAC登録によってインストールされます。 すべての参照を削除してください:
1.プログラムと機能からBCL EasyPDF SDKをアンインストールする 2.プロジェクトからDLL参照を削除する 3.COMインターオプ参照を削除 4.GACエントリが存在する場合は、クリーンアップ
ステップ2: IronPDFをインストールする
# Install IronPDF
dotnet add package IronPdf# Install IronPDF
dotnet add package IronPdfまたはパッケージマネージャーコンソールから:
Install-Package IronPdfステップ 3: 名前空間参照の更新
Easy PDF SDKの名前空間をIronPDFに置き換えてください:
// Remove these
using BCL.easyPDF;
using BCL.easyPDF.Interop;
using BCL.easyPDF.PDFConverter;
using BCL.easyPDF.Printer;
// Add these
using IronPdf;
using IronPdf.Rendering;// Remove these
using BCL.easyPDF;
using BCL.easyPDF.Interop;
using BCL.easyPDF.PDFConverter;
using BCL.easyPDF.Printer;
// Add these
using IronPdf;
using IronPdf.Rendering;IRON VB CONVERTER ERROR developers@ironsoftware.com完全な API 移行のリファレンス
コア クラス マッピング
| Easy PDF SDKクラス | IronPDF 同等物 | ノート |
|---|---|---|
| <コード>プリンタ</コード | <コード>ChromePdfRenderer</コード | 主な変換クラス |
| <コード>PDFドキュメント</コード | <コード>PdfDocument</コード | 文書操作 |
| <コード>HTMLConverter</コード | <コード>ChromePdfRenderer</コード | HTML変換. |
| <コード>PrinterConfiguration</コード | <コード>ChromePdfRenderOptions</コード | レンダリングオプション |
| <コード>ページの向き</コード | <コード>PdfPaperOrientation</コード | ページの向き |
| <コード>ページサイズ</コード | <コード>PdfPaperSize</コード | 用紙サイズ |
| <コード>SecurityHandler</コード | <コード>PdfDocument.SecuritySettings</コード | セキュリティオプション。 |
PDF作成方法
| Easy PDF SDKの方法 | IronPDF メソッド | ノート |
|---|---|---|
printer.RenderHTMLToPDF(html、path)。 | renderer.RenderHtmlAsPdf(html).SaveAs(path)。 | HTML文字列 |
printer.RenderUrlToPDF(url、パス)。 | renderer.RenderUrlAsPdf(url).SaveAs(path)を実行します。 | URL変換。 |
htmlConverter.ConvertHTML(html, doc). | renderer.RenderHtmlAsPdf(html). | HTMLからPDFへ |
htmlConverter.ConvertURL(url, doc). | renderer.RenderUrlAsPdf(url)のようにします。 | URLからPDFへ |
PDF操作方法
| Easy PDF SDKの方法 | IronPDF メソッド | ノート |
|---|---|---|
doc.Append(doc2)を追加します。 | PdfDocument.Merge(pdf1, pdf2). | PDFをマージ。 |
| <コード>doc.ExtractPages(start, end) | pdf.CopyPages(start, end). | ページの抜粋 |
doc.DeletePage(インデックス) | pdf.RemovePage(インデックス)。 | ページを削除 |
| <コード>doc.GetPageCount()</コード | <コード>pdf.PageCount</コード | ページ数 |
doc.Save(パス)を実行します。 | pdf.SaveAs(path)のようにします。 | PDFを保存 |
| <コード>doc.Close()</コード | pdf.Dispose()またはusing。 | クリーンアップ |
| <コード>doc.ExtractText()</コード | pdf.ExtractAllText()を使用してください。 | テキスト抽出。 |
設定オプション
| 簡単PDF SDKオプション | IronPDF オプション | ノート |
|---|---|---|
| <コード>config.TimeOut</コード | レンダリングオプション.タイムアウト | タイムアウト (ms) |
config.PageOrientation = Landscape (ページの向き) | RenderingOptions.PaperOrientation = Landscape<//code>. | オリエンテーション |
| <コード>config.PageSize = A4 | RenderingOptions.PaperSize=PdfPaperSize.A4。 | 用紙サイズ |
| <コード>config.MarginTop/Bottom/Left/Right</コード | RenderingOptions.MarginTopなど。 | マージン |
コード移行の例
HTML文字列をPDFに変換
簡単なPDF SDKの実装:。
// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;
class Program
{
static void Main()
{
var pdf = new PDFDocument();
var htmlConverter = new HTMLConverter();
htmlConverter.ConvertHTML("<h1>Hello World</h1>", pdf);
pdf.Save("output.pdf");
pdf.Close();
}
}// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;
class Program
{
static void Main()
{
var pdf = new PDFDocument();
var htmlConverter = new HTMLConverter();
htmlConverter.ConvertHTML("<h1>Hello World</h1>", pdf);
pdf.Save("output.pdf");
pdf.Close();
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDFの実装:。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comIronPdfは個別のHTMLConverterクラスと手動のClose()コールを排除し、よりクリーンで保守性の高いコードを実現します。
URLからPDFへの変換
簡単なPDF SDKの実装:。
// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;
class Program
{
static void Main()
{
var pdf = new PDFDocument();
var htmlConverter = new HTMLConverter();
htmlConverter.ConvertURL("https://example.com", pdf);
pdf.Save("webpage.pdf");
pdf.Close();
}
}// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;
class Program
{
static void Main()
{
var pdf = new PDFDocument();
var htmlConverter = new HTMLConverter();
htmlConverter.ConvertURL("https://example.com", pdf);
pdf.Save("webpage.pdf");
pdf.Close();
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDFの実装:。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("webpage.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("webpage.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com複数のPDFをマージする
簡単なPDF SDKの実装:。
// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;
class Program
{
static void Main()
{
var pdf1 = new PDFDocument("document1.pdf");
var pdf2 = new PDFDocument("document2.pdf");
pdf1.Append(pdf2);
pdf1.Save("merged.pdf");
pdf1.Close();
pdf2.Close();
}
}// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;
class Program
{
static void Main()
{
var pdf1 = new PDFDocument("document1.pdf");
var pdf2 = new PDFDocument("document2.pdf");
pdf1.Append(pdf2);
pdf1.Save("merged.pdf");
pdf1.Close();
pdf2.Close();
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDFの実装:。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var pdfs = new List<PdfDocument>
{
PdfDocument.FromFile("document1.pdf"),
PdfDocument.FromFile("document2.pdf")
};
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("merged.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var pdfs = new List<PdfDocument>
{
PdfDocument.FromFile("document1.pdf"),
PdfDocument.FromFile("document2.pdf")
};
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("merged.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDFの静的なMergeメソッドは複数のドキュメントを直接受け入れるので、手作業によるAppendループパターンは不要です。
パスワード保護
IronPDFの実装:。
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");
// Set security
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserEdits = PdfEditSecurity.NoEdit;
pdf.SaveAs("protected.pdf");using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");
// Set security
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserEdits = PdfEditSecurity.NoEdit;
pdf.SaveAs("protected.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comヘッダーとフッター
Easy PDF SDKは、ネイティブのヘッダー/フッターサポートを持っていません-ヘッダーとフッターは、ソースHTMLに含める必要があります。 IronPDFは専用の機能を提供します:
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
HtmlFragment = @"
<div style='text-align:center; font-size:12px; font-family:Arial;'>
Company Name - Confidential
</div>",
DrawDividerLine = true,
MaxHeight = 30
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
HtmlFragment = @"
<div style='text-align:center; font-size:10px;'>
Page {page} of {total-pages}
</div>",
DrawDividerLine = true,
MaxHeight = 25
};
var pdf = renderer.RenderHtmlAsPdf("<h1>Content</h1>");
pdf.SaveAs("with_headers.pdf");using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
HtmlFragment = @"
<div style='text-align:center; font-size:12px; font-family:Arial;'>
Company Name - Confidential
</div>",
DrawDividerLine = true,
MaxHeight = 30
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
HtmlFragment = @"
<div style='text-align:center; font-size:10px;'>
Page {page} of {total-pages}
</div>",
DrawDividerLine = true,
MaxHeight = 25
};
var pdf = renderer.RenderHtmlAsPdf("<h1>Content</h1>");
pdf.SaveAs("with_headers.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comその他のオプションについては、headers and footers documentationを参照してください。
現代のアプリケーションはノンブロッキングオペレーションを必要とします。
Easy PDF SDKは、コールバックベースの非同期パターンを使用します。 IronPdfはネイティブのasync/awaitをサポートしています:
簡単なPDF SDKの実装:。
using BCL.easyPDF;
Printer printer = new Printer();
// BCL uses callback-based async
printer.BeginPrintToFile(
"https://example.com",
"output.pdf",
OnPrintComplete,
OnPrintError
);
Console.ReadLine();
printer.Dispose();using BCL.easyPDF;
Printer printer = new Printer();
// BCL uses callback-based async
printer.BeginPrintToFile(
"https://example.com",
"output.pdf",
OnPrintComplete,
OnPrintError
);
Console.ReadLine();
printer.Dispose();IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDFの実装:。
using IronPdf;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var renderer = new ChromePdfRenderer();
// Native async/await
var pdf = await renderer.RenderUrlAsPdfAsync("https://example.com");
await pdf.SaveAsAsync("output.pdf");
Console.WriteLine("PDF created: output.pdf");
}
}using IronPdf;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var renderer = new ChromePdfRenderer();
// Native async/await
var pdf = await renderer.RenderUrlAsPdfAsync("https://example.com");
await pdf.SaveAsAsync("output.pdf");
Console.WriteLine("PDF created: output.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com重要な移行に関する注意事項
ページ索引の変更
Easy PDF SDKは1ベースのインデックスを使用します。 IronPDFは0ベースのインデックスを使用しています:
// Easy PDF SDK: 1-based
doc.ExtractPages(1, 5);
// IronPDF: 0-based
pdf.CopyPages(0, 4);// Easy PDF SDK: 1-based
doc.ExtractPages(1, 5);
// IronPDF: 0-based
pdf.CopyPages(0, 4);IRON VB CONVERTER ERROR developers@ironsoftware.comタイムアウト (ミリ秒単位)
Easy PDF SDKはタイムアウト値に秒を使用します。 IronPDFはミリ秒を使用しています:
// Easy PDF SDK: seconds
config.TimeOut = 120;
// IronPDF: milliseconds
renderer.RenderingOptions.Timeout = 120000;// Easy PDF SDK: seconds
config.TimeOut = 120;
// IronPDF: milliseconds
renderer.RenderingOptions.Timeout = 120000;IRON VB CONVERTER ERROR developers@ironsoftware.com.NETコアの統合
Easy PDF SDKは、インタラクティブなセッションが要求されるため、Webコンテキストでは苦労します。
IronPDFパターン:
[ApiController]
[Route("[controller]")]
public class PdfController : ControllerBase
{
[HttpGet("generate")]
public IActionResult GeneratePdf()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1>");
return File(pdf.BinaryData, "application/pdf", "report.pdf");
}
[HttpGet("generate-async")]
public async Task<IActionResult> GeneratePdfAsync()
{
var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Report</h1>");
return File(pdf.Stream, "application/pdf", "report.pdf");
}
}[ApiController]
[Route("[controller]")]
public class PdfController : ControllerBase
{
[HttpGet("generate")]
public IActionResult GeneratePdf()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1>");
return File(pdf.BinaryData, "application/pdf", "report.pdf");
}
[HttpGet("generate-async")]
public async Task<IActionResult> GeneratePdfAsync()
{
var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Report</h1>");
return File(pdf.Stream, "application/pdf", "report.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comDockerの展開
Easy PDF SDKはDockerコンテナでは実行できません。Windowsコンテナ、Microsoft Office、仮想プリンタドライバ、およびインタラクティブデスクトップセッションが必要です。 これは、コンテナ化とは根本的に相容れないものです。
IronPdfのDocker設定:。
FROM mcr.microsoft.com/dotnet/aspnet:8.0
# Install Chromium dependencies
RUN apt-get update && apt-get install -y \
libc6 libgdiplus libx11-6 libxcomposite1 \
libxdamage1 libxrandr2 libxss1 libxtst6 \
libnss3 libatk-bridge2.0-0 libgtk-3-0 \
libgbm1 libasound2 fonts-liberation \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "MyApp.dll"]よくある移行の問題のトラブルシューティング
問題です:プリンタが見つかりません
症状: プリンターが見つかりません:BCL easyPDF Printer<//code> プリンタが見つかりません。
ソリューション: IronPDFはプリンタドライバを必要としません:
// Just use the renderer directly
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);// Just use the renderer directly
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);IRON VB CONVERTER ERROR developers@ironsoftware.com課題COM 相互接続エラー
症状: DLLの読み込みエラー または RCWエラー
解決策: すべてのCOM参照を削除し、IronPdfのマネージドAPIを使用してください。
課題サーバーのタイムアウト
症状: PDF生成がWebサーバー上でハングする。
ソリューション: IronPDFはインタラクティブセッションなしでヘッドレスで動作します:
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.Timeout = 60000; // Reliable timeout
var pdf = renderer.RenderHtmlAsPdf(html);var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.Timeout = 60000; // Reliable timeout
var pdf = renderer.RenderHtmlAsPdf(html);IRON VB CONVERTER ERROR developers@ironsoftware.com問題背景が印刷されない
症状: CSSの背景が欠けている。
解決策:バックグラウンド印刷を有効にする:
renderer.RenderingOptions.PrintHtmlBackgrounds = true;renderer.RenderingOptions.PrintHtmlBackgrounds = true;IRON VB CONVERTER ERROR developers@ironsoftware.com移行後のチェックリスト
コードの移行が完了したら、以下を確認してください:
- [ ] IronPDFのChromiumエンジンによるPDF出力品質の検証
- [複雑なHTML/CSSのエッジケースをテストしてください。
- [対話セッションなしでサーバーのデプロイが機能することを検証する。
- [Docker/container デプロイのテスト
- [配備からBCL EasyPDFインストーラを削除する
- [サーバーからOfficeのインストールを削除する。
- [新しいNuGetパッケージでCI/CDパイプラインを更新する。
PDFインフラストラクチャの将来性を確保する
.NET 10が目前に迫り、C# 14が新しい言語機能を導入する中、クロスプラットフォームのPDFライブラリを選択することで、進化するデプロイメントモデルとの互換性を確保することができます。 IronPdf.Linux、Docker、クラウドネイティブアーキテクチャのサポートは、Easy PDF SDKのWindowsのみの制約を受けることなく、プロジェクトが2025年、2026年に拡張されたときに、移行への投資が報われることを意味します。
その他のリソース
Easy PDF SDKからIronPdfに移行することで、仮想プリンター依存、COMインターオプの問題、Windowsのみの制約がなくなります。 Chromiumベースのレンダリングへの移行により、優れたCSS3とJavaScriptのサポートが実現され、Easy PDF SDKのレガシーアーキテクチャでは不可能であったDocker、Kubernetes、クラウド環境へのデプロイが可能になりました。






