HTMLからPDFへの変換でフォントを管理する方法
EO.Pdfには、開発チームを代替案の評価に駆り立てるような、アーキテクチャ上の課題がいくつかあります。 これらの問題を理解することは、移行戦略を計画する上で不可欠です。
EO.Pdfの問題について
-
バンドルされたChromiumフットプリント: EO.Pdf(現在のNuGetバージョン26.1.34、2026年3月)は、自身のChromiumベースのレンダラーを出荷しており、非Chromiumライブラリと比較してインストールのフットプリントが増加し、DockerイメージおよびCI/CDパイプラインに重量が加わります。
-
レガシーアーキテクチャの遺産: EO.PdfのHTML-to-PDFコンバーターは当初、埋め込み式のInternet Explorer/Tridentエンジンで構築されており、プロジェクトがChromiumベースのレンダラーに移行する前のものです。 この移行は、バージョン間でいくつかのAPIの癖と動作の違いを残しました。
-
.NET Core上でのWindows専用: クロスプラットフォームと宣伝されているにもかかわらず、Essential Objectsの.NET Coreドキュメントによれば、EO.Pdfは.NET Core 3.1+および.NET 5/6でWindowsのみをサポートしており、LinuxおよびmacOSは公式にはサポートされていません。
-
静的グローバルオプション: EO.Pdfの主なHTMLからPDFへのエントリポイントは、共有された
HtmlToPdfクラスです。 複数のスレッドからそのグローバル状態を変更することは安全ではなく、マルチテナントWebアプリケーションでは不便です。 - 商用ライセンス: EO.Pdfは、シングル、3ライセンスバンドル、コーポレート、コーポレートプラスの階層で販売されています(永久に無料の階層はなく、30日間の透かし入りトライアルのみです)。 正確な価格は注文ページに表示されます。
アーキテクチャの比較
| アスペクト | EO.Pdf | IronPDF |
|---|---|---|
| レンダラー | バンドルされたChromium(IE/Tridentから移行) | 埋め込まれたChromium |
| レガシーな問題 | IE/Tridentへの移行の重荷 | 最初からChromiumに基づいて構築 |
| プラットフォームサポート | Windowsのみ/.NET Core | Windows、Linux、macOS、Docker、Azure |
| コンフィギュレーション。 | 静的HtmlToPdf.Options(スレッドセーフではありません) |
インスタンスベースのChromePdfRenderer(スレッドセーフ) |
| APIデザイン。 | 混在(HtmlToPdf静的 + ACMオブジェクトモデル) |
統合されたChromePdfRenderer + HTML/CSS |
| ライセンスモデル | シングル/3ライセンス/コーポレート/コーポレートプラス(30日間のトライアル) | 開発者ごとの商業利用; 無料の開発者トライアル |
| モダン.NET | .NET Framework + .NET Core 3.1+(Windowsのみ) | .NET Framework、.NET 6/7/8/9クロスプラットフォーム |
| 非同期サポートについて | 制限的 | 完全なRenderHtmlAsPdfAsync / RenderUrlAsPdfAsync |
主な移行のメリット
- .NET Core/.NET 6+でのクロスプラットフォーム: Linux、macOS、Dockerで動作—Windowsだけではありません
- スレッドセーフな構成: 静的なグローバルではなく、インスタンスベースのレンダラーオプション
- モダンAPI: 一貫したメソッド名——
RenderHtmlAsPdf,RenderUrlAsPdf,PdfDocument.Merge - 完全な非同期サポート: ノンブロッキングパイプライン用の
RenderUrlAsPdfAsync - ドキュメンテーション: 詳細なチュートリアル、ハウツーガイド、およびアクティブオブジェクトリファレンス
移行前の準備
前提条件
あなたの環境がこれらの要件を満たしていることを確認してください:
- .NET Framework 4.6.2+または.NET Core 3.1 / .NET 5-9
- Visual Studio 2019+またはC#拡張機能付きVS Code
- NuGetパッケージマネージャへのアクセス
- IronPDFライセンスキー (ironpdf.com にて無料トライアル可能)
EO.Pdfの使用法を監査する
ソリューションディレクトリで以下のコマンドを実行し、すべてのEO.Pdf参照を特定します:
# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
一般的なEO.Pdfの名前空間
EO.Pdf- コアHTMLからPDFEO.Pdf.Acm- 高度なコンテンツモデル(ACM)EO.Pdf.Contents- 低レベルのコンテンツ操作EO.Pdf.Drawing- グラフィックス操作
コアパターンの変更を理解する
EO.PdfとIronPDFの最も重要なアーキテクチャの違いはコンフィギュレーションスコープです。 EO.Pdfは、すべての変換に影響するグローバルオプションを持つ静的メソッドを使用しています。これは、ウェブアプリケーションでスレッドセーフの問題を引き起こすパターンです。 IronPDFはローカルオプションを持つインスタンスベースのレンダラーを使用し、各変換が分離されていることを保証します。
ステップごとの移行プロセス
ステップ 1: NuGet パッケージを更新する
EO.Pdfを削除し、IronPDFをインストールしてください:
# Remove EO.Pdf
dotnet remove package EO.Pdf
# Install IronPDF
dotnet add package IronPdf
# Remove EO.Pdf
dotnet remove package EO.Pdf
# Install IronPDF
dotnet add package IronPdf
ステップ 2: 名前空間参照の更新
EO.Pdf名前空間をIronPdf.Pdfに置き換えてください:
// Remove these
using EO.Pdf;
using EO.Pdf.Acm;
// Add this
using IronPdf;
// Remove these
using EO.Pdf;
using EO.Pdf.Acm;
// Add this
using IronPdf;
Imports IronPdf
ステップ 3: ライセンスの設定
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
完全な API 移行のリファレンス
コア クラス マッピング
| EO.Pdfクラス | IronPDF 同等物 |
|---|---|
HtmlToPdf |
ChromePdfRenderer |
PdfDocument |
PdfDocument |
HtmlToPdfOptions |
ChromePdfRenderOptions |
AcmRender |
不要 |
AcmText |
HTML <span>, <p> |
AcmBlock |
HTML <div> |
メソッドマッピング
| EO.Pdfメソッド | IronPDF メソッド |
|---|---|
HtmlToPdf.ConvertHtml(html, path) |
renderer.RenderHtmlAsPdf(html) 次に SaveAs(path) |
HtmlToPdf.ConvertUrl(url, path) |
renderer.RenderUrlAsPdf(url) 次に SaveAs(path) |
PdfDocument.Save(path) |
pdf.SaveAs(path) |
new PdfDocument(path) |
PdfDocument.FromFile(path) |
PdfDocument.Merge(doc1, doc2)(静的) |
PdfDocument.Merge(doc1, doc2)(静的) |
オプション マッピング
| EO.Pdfオプション | IronPDF レンダリングオプション |
|---|---|
Options.PageSize = PdfPageSizes.A4 |
PaperSize = PdfPaperSize.A4 |
Options.OutputArea(RectangleF) |
MarginTop, MarginBottom, etc. |
コード移行の例
HTMLからPDFへの変換
基本的なHTMLからPDFへの変換は、静的メソッドからインスタンスベースのレンダリングへの移行を示しています。
EO.Pdfの実装:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
HtmlToPdf.ConvertHtml(html, "output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
HtmlToPdf.ConvertHtml(html, "output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
Imports EO.Pdf
Imports System
Class Program
Shared Sub Main()
Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"
HtmlToPdf.ConvertHtml(html, "output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Class
IronPDFの実装:。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Class
IronPDFの二段階パターン(レンダリングしてから保存)は、保存前に追加の操作が可能なPdfDocumentオブジェクトへのアクセスを提供します。 その他のオプションについては、HTML to PDF documentationを参照してください。
URLからPDFへの変換
EO.Pdfの実装:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
HtmlToPdf.ConvertUrl(url, "webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
HtmlToPdf.ConvertUrl(url, "webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
Imports EO.Pdf
Imports System
Module Program
Sub Main()
Dim url As String = "https://www.example.com"
HtmlToPdf.ConvertUrl(url, "webpage.pdf")
Console.WriteLine("PDF from URL created successfully!")
End Sub
End Module
IronPDFの実装:。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim url As String = "https://www.example.com"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf(url)
pdf.SaveAs("webpage.pdf")
Console.WriteLine("PDF from URL created successfully!")
End Sub
End Class
IronPDFのRenderUrlAsPdfは、完全なJavaScriptの実行とモダンCSSのサポートを提供します。 その他のオプションについては、URL to PDF documentationを参照してください。
カスタム設定の HTML ファイル
この例は、設定パターンの重要な違いを示しています——インチ単位のEO.PdfのOutputAreaと、ミリメートル単位のIronPDFの個別のマージンプロパティ。
EO.Pdfの実装:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
HtmlToPdfOptions options = new HtmlToPdfOptions();
options.PageSize = PdfPageSizes.A4;
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
Console.WriteLine("PDF with custom settings created.");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
HtmlToPdfOptions options = new HtmlToPdfOptions();
options.PageSize = PdfPageSizes.A4;
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
Console.WriteLine("PDF with custom settings created.");
}
}
Imports EO.Pdf
Imports System
Class Program
Shared Sub Main()
Dim options As New HtmlToPdfOptions()
options.PageSize = PdfPageSizes.A4
options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)
HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options)
Console.WriteLine("PDF with custom settings created.")
End Sub
End Class
IronPDFの実装:。
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF with custom settings created.");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF with custom settings created.");
}
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System
Class Program
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
Dim pdf = renderer.RenderHtmlFileAsPdf("C:/input.html")
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF with custom settings created.")
End Sub
End Class
単位変換に注意: EO.PdfはOutputAreaでインチを使用し、IronPDFはミリメートルを使用します。 変換にはinches × 25.4 = mmを使用します。 その他のオプションについては、rendering options documentationを参照してください。
複数のPDFをマージする
両方のライブラリは、ドキュメントを結合するための静的なMergeに移動する必要があります。
EO.Pdfの実装:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
PdfDocument doc1 = new PdfDocument("file1.pdf");
PdfDocument doc2 = new PdfDocument("file2.pdf");
// EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
PdfDocument mergedDoc = PdfDocument.Merge(doc1, doc2);
mergedDoc.Save("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
PdfDocument doc1 = new PdfDocument("file1.pdf");
PdfDocument doc2 = new PdfDocument("file2.pdf");
// EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
PdfDocument mergedDoc = PdfDocument.Merge(doc1, doc2);
mergedDoc.Save("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
Imports EO.Pdf
Imports System
Module Program
Sub Main()
Dim doc1 As New PdfDocument("file1.pdf")
Dim doc2 As New PdfDocument("file2.pdf")
' EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
Dim mergedDoc As PdfDocument = PdfDocument.Merge(doc1, doc2)
mergedDoc.Save("merged.pdf")
Console.WriteLine("PDFs merged successfully!")
End Sub
End Module
IronPDFの実装:。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
merged.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
merged.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
Imports IronPdf
Imports System
Imports System.Collections.Generic
Module Program
Sub Main()
Dim pdf1 = PdfDocument.FromFile("file1.pdf")
Dim pdf2 = PdfDocument.FromFile("file2.pdf")
Dim merged = PdfDocument.Merge(New List(Of PdfDocument) From {pdf1, pdf2})
merged.SaveAs("merged.pdf")
Console.WriteLine("PDFs merged successfully!")
End Sub
End Module
IronPDFの静的なList<PdfDocument>のいずれかを受け入れます。 コンストラクタ(PdfDocument.FromFile(path))に変更されることに注意してください。 その他のオプションについては、 PDF 結合のドキュメントを参照してください。
重要な移行に関する注意事項
マージン単位の変換
EO.PdfはOutputAreaでインチを使用します。 IronPDFはミリメートルを使用しています。 変換にはinches × 25.4 = mmを使用します
// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
' EO.Pdf - 0.5 inch margins
options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)
' IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7
renderer.RenderingOptions.MarginBottom = 12.7
renderer.RenderingOptions.MarginLeft = 12.7
renderer.RenderingOptions.MarginRight = 12.7
静的な構成からインスタンスベースの構成へ
すべてのrenderer.RenderingOptions.Xで置き換えます:
// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;
//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;
//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4
' IronPDF- instance options (thread-safe)
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
ACMからHTMLへの移行
EO.Pdfの高度なコンテンツモデル(AcmRender, AcmText, AcmBlock)を使用している場合は、標準HTML/CSSに移行してください:
// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));
//IronPDFHTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));
//IronPDFHTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
' EO.Pdf ACM approach
Dim acmContent As New AcmContent()
acmContent.Add(New AcmText("Sample Text"))
' IronPDFHTML approach
Dim html As String = "<div>Sample Text</div>"
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
2段階保存パターン
EO.PdfはConvertHtml()で直接保存します。 IronPDFはSaveAs()を呼び出します:
// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");
//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");
//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
' EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf")
' IronPDF- two steps (enables manipulation before save)
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
コンストラクタから静的ファクトリへ
PdfDocument.FromFile(path)で置き換えます:
// EO.Pdf
var doc = new PdfDocument("file.pdf");
// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
// EO.Pdf
var doc = new PdfDocument("file.pdf");
// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
' EO.Pdf
Dim doc = New PdfDocument("file.pdf")
' IronPDF
Dim doc = PdfDocument.FromFile("file.pdf")
移行後のチェックリスト
コードの移行が完了したら、以下を確認してください:
- 生成されたPDFの視覚的な比較
- ヘッダー/フッターが正しくレンダリングされることを確認する
- セキュリティ/暗号化設定をテストする
- マージ操作を検証する
- パフォーマンスベンチマーク
- クロスプラットフォームテスト(Windows、Linux、macOS)
- EO.Pdfライセンスファイルを削除する
- ドキュメントの更新
その他のリソース
EO.PdfからIronPDFへの移行は、レガシーIE/Trident時代の負債やEO.Pdfの静的グローバルオプションのスレッドセーフティの問題を解決します。 インスタンスベースの構成への移行により、PDF生成コードが並行運用下で信頼性高く動作し、IronPDFのクロスプラットフォームサポートが、Windowsを超えてLinux、macOS、Dockerへのデプロイメントを拡張します。

