移行ガイド C#でEO.PdfからIronPDFに移行する方法 カーティス・チャウ 公開日:2026年1月11日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る EO.Pdfには、開発チームを代替案の評価に駆り立てるような、アーキテクチャ上の課題がいくつかあります。 これらの問題を理解することは、移行戦略を計画する上で不可欠です。 EO.Pdfの問題について 126 MB という巨大なパッケージ サイズ: EO.Pdf には独自の Chromium エンジンがバンドルされており、展開フットプリントは 126 MB になります。 これはDockerイメージを膨らませ、CI/CDパイプラインを遅くし、インフラコストを増加させます。 2.レガシー アーキテクチャの障害: EO.Pdf は、Chromium に移行する前は、Internet Explorer のレンダリング エンジン上に構築されていました。 このレガシーには、IE時代からの互換性の問題、API設計の技術的負債、バージョン間の一貫性のない動作などがあります。 Windows 中心の設計: "クロスプラットフォーム"として宣伝されているにもかかわらず、EO.Pdf の Linux および macOS のサポートは制限されています。 多くの開発者が、Windows 以外のデプロイメントに関する問題を報告しています。 4.静的グローバル オプション: EO.Pdf は構成に静的HtmlToPdf.Optionsを使用しますが、これはスレッドセーフではなく、マルチテナント Web アプリケーションでは問題が発生します。 5.ライセンスあたり 799 ドル:開発者ライセンスあたり 799 ドルという EO.Pdf は、同等またはより優れた機能を提供する代替製品と比較して高価です。 アーキテクチャの比較 アスペクト EO.Pdf IronPDF パッケージサイズ 126MB 最適化 (~50MB) レガシーな問題 IEの移行荷物 クリーンでモダンなコードベース プラットフォームサポート Windowsに特化 真のクロスプラットフォーム コンフィギュレーション。 静的/グローバル(スレッドセーフではない) インスタンスベース、スレッドセーフ APIデザイン。 混合(HtmlToPdf + ACM) 統一された一貫性のある ドキュメント 制限的 包括的なチュートリアル モダン.NET .NET 標準 .NET 6/7/8/9+ ネイティブ 非同期サポートについて 制限的 完全なasync/await 主な移行のメリット 1.フットプリントが50%小さくなる: IronPDFの最適化されたChromiumパッケージ 2.真のクロスプラットフォーム: Windows、Linux、macOS、Dockerで同じように動作します 3.スレッドセーフ構成:インスタンスベースのレンダラーオプション 4.モダンAPI:一貫性のある直感的なメソッド名 5.より充実したドキュメント:豊富なチュートリアルと例 移行前の準備 前提条件 あなたの環境がこれらの要件を満たしていることを確認してください: .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" SHELL 一般的なEO.Pdfの名前空間 `EO.Pdf - コアHTMLからPDFへ EO.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 SHELL ステップ 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; $vbLabelText $csharpLabel ステップ 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"; $vbLabelText $csharpLabel 完全な API 移行のリファレンス コア クラス マッピング EO.Pdfクラス IronPDF 同等物 ノート HtmlToPdf|ChromePdfRenderer` インスタンスベース PdfDocument PdfDocument 似ているが異なる手法 HtmlToPdfOptions ChromePdfRenderOptions RenderingOptions経由 AcmRender 不要 代わりにHTML/CSSを使用してください AcmText HTML <span>、<p>。 AcmBlock HTML <div> メソッドマッピング EO.Pdfメソッド IronPDF メソッド ノート HtmlToPdf.ConvertHtml(html, path) renderer.RenderHtmlAsPdf(html) then SaveAs(path). IronPDFの2ステップ HtmlToPdf.ConvertUrl(url, path) renderer.RenderUrlAsPdf(url) then SaveAs(path). PdfDocument.Save(パス)。 pdf.SaveAs(path)のようにします。 new PdfDocument(path). PdfDocument.FromFile(パス)。 静的ファクトリ doc.Append(other)を追加します。 PdfDocument.Merge(doc1, doc2). 静的マージ方式 オプション マッピング EO.Pdfオプション IronPDF レンダリングオプション ノート Options.PageSize = PdfPageSizes.A4. PaperSize = PdfPaperSize.A4. Options.OutputArea (RectangleF) MarginTop、MarginBottomなど。 mmの個々のプロパティ コード移行の例 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!"); } } $vbLabelText $csharpLabel 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!"); } } $vbLabelText $csharpLabel IronPDFの2段階パターン(レンダリングしてから保存)は、保存する前に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!"); } } $vbLabelText $csharpLabel 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!"); } } $vbLabelText $csharpLabel 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."); } } $vbLabelText $csharpLabel 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."); } } $vbLabelText $csharpLabel 単位変換に注意してください:EO.PdfはOutputAreaでインチを使っていますが、IronPdfはミリを使っています。 変換にはinches × 25.4 = mm. その他のオプションについては、rendering options documentationを参照してください。 複数のPDFをマージする PDFのマージはEO.PdfのAppendループパターンとIronPDFの静的な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"); PdfDocument mergedDoc = new PdfDocument(); mergedDoc.Append(doc1); mergedDoc.Append(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"); PdfDocument mergedDoc = new PdfDocument(); mergedDoc.Append(doc1); mergedDoc.Append(doc2); mergedDoc.Save("merged.pdf"); Console.WriteLine("PDFs merged successfully!"); } } $vbLabelText $csharpLabel 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!"); } } $vbLabelText $csharpLabel IronPdfの静的なMergeメソッドはドキュメントのコレクションを受け入れ、複数のドキュメントのマージを簡素化します。 コンストラクタ (new PdfDocument(path)) から静的ファクトリ (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; $vbLabelText $csharpLabel 静的な構成からインスタンスベースの構成へ すべてのHtmlToPdf.Options.Xを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; $vbLabelText $csharpLabel 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); $vbLabelText $csharpLabel 2段階保存パターン EO.PdfはConvertHtml()で直接保存します。 IronPDFはPdfDocumentオブジェクトを返し、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"); $vbLabelText $csharpLabel コンストラクタから静的ファクトリへ new PdfDocument(path) をPdfDocument.FromFile(パス)。に置き換えてください: // 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"); $vbLabelText $csharpLabel 移行後のチェックリスト コードの移行が完了したら、以下を確認してください: 生成されたPDFの視覚的な比較 ヘッダー/フッターが正しくレンダリングされることを確認する セキュリティ/暗号化設定をテストする マージ操作を検証する パフォーマンスベンチマーク クロスプラットフォームテスト(Windows、Linux、macOS) EO.Pdfライセンスファイルを削除する ドキュメントの更新 PDFインフラストラクチャの将来性を確保する .NET 10が目前に迫り、C# 14では新しい言語機能が導入されるため、最新の.NETネイティブサポートを備えたPDFライブラリを選択することで、長期的な互換性を確保できます。 IronPdfのインスタンスベースのスレッドセーフアーキテクチャは現代のウェブアプリケーションのパターンに合致しており、特にEO.Pdfの静的グローバルオプションが並行性の問題を引き起こすマルチテナントのSaaSアプリケーションにとって重要です。 その他のリソース IronPDFドキュメント. HTMLからPDFへのチュートリアル。 APIリファレンス. NuGetパッケージ。 ライセンスオプション。 EO.PdfからIronPdfに移行することで、126MBのパッケージの肥大化、IE時代のお荷物、静的グローバルオプションによるスレッドセーフの懸念がなくなります。 インスタンスベースの構成に移行することで、PDF生成コードがマルチスレッドのWebアプリケーションで確実に動作することを保証すると同時に、真のクロスプラットフォーム・デプロイメントをサポートします。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 公開日 2026年2月1日 C#でZetPDFからIronPDFに移行する方法 この完全なC#ガイドでZetPDFからIronPDFへの移行をマスターしてください。座標ベースのライブラリから最新のHTML-to-PDFソリューションに切り替えます。HTML変換、PDFのマージ、PDFSharpの依存関係の削除のコード例が含まれています。 詳しく読む 公開日 2026年2月1日 C#でScryber.CoreからIronPDFに移行する方法 この完全なC#ガイドでScryber.CoreからIronPDFへの移行をマスターしてください。カスタムXML/HTMLパースから最新のChromiumレンダラーに切り替えます。HTML変換、URLレンダリング、独自のバインディングを置き換えるコード例を含みます。 詳しく読む 公開日 2026年2月1日 C#でXFINIUM.PDFからIronPdfへ移行する方法 この完全なC#ガイドでXFINIUM.PDFからIronPDFへの移行をマスターしてください。座標ベースの手動ポジショニングから宣言的なHTML/CSSレンダリングに切り替えます。グラフィックスプリミティブの置き換えと自動レイアウトのコード例を含みます。 詳しく読む C#でExpertPdfからIronPDFに移行する方法C#でEasy PDF SDKからIronPDFへ...
公開日 2026年2月1日 C#でZetPDFからIronPDFに移行する方法 この完全なC#ガイドでZetPDFからIronPDFへの移行をマスターしてください。座標ベースのライブラリから最新のHTML-to-PDFソリューションに切り替えます。HTML変換、PDFのマージ、PDFSharpの依存関係の削除のコード例が含まれています。 詳しく読む
公開日 2026年2月1日 C#でScryber.CoreからIronPDFに移行する方法 この完全なC#ガイドでScryber.CoreからIronPDFへの移行をマスターしてください。カスタムXML/HTMLパースから最新のChromiumレンダラーに切り替えます。HTML変換、URLレンダリング、独自のバインディングを置き換えるコード例を含みます。 詳しく読む
公開日 2026年2月1日 C#でXFINIUM.PDFからIronPdfへ移行する方法 この完全なC#ガイドでXFINIUM.PDFからIronPDFへの移行をマスターしてください。座標ベースの手動ポジショニングから宣言的なHTML/CSSレンダリングに切り替えます。グラフィックスプリミティブの置き換えと自動レイアウトのコード例を含みます。 詳しく読む