フッターコンテンツにスキップ
移行ガイド

C#でEO.PdfからIronPDFに移行する方法

EO.Pdfには、開発チームを代替案の評価に駆り立てるような、アーキテクチャ上の課題がいくつかあります。 これらの問題を理解することは、移行戦略を計画する上で不可欠です。

EO.Pdfの問題について

  1. 126 MB という巨大なパッケージ サイズ: EO.Pdf には独自の Chromium エンジンがバンドルされており、展開フットプリントは 126 MB になります。 これはDockerイメージを膨らませ、CI/CDパイプラインを遅くし、インフラコストを増加させます。

2.レガシー アーキテクチャの障害: EO.Pdf は、Chromium に移行する前は、Internet Explorer のレンダリング エンジン上に構築されていました。 このレガシーには、IE時代からの互換性の問題、API設計の技術的負債、バージョン間の一貫性のない動作などがあります。

  1. 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 Standard .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;
Imports 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";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

完全な API 移行のリファレンス

コア クラス マッピング

EO.Pdfクラス IronPDF 同等物
HtmlToPdf ChromePdfRenderer
PdfDocument PdfDocument
HtmlToPdfOptions ChromePdfRenderOptions
AcmRender 不要
AcmText HTML <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)
doc.Append(other) PdfDocument.Merge(doc1, doc2)

オプション マッピング

EO.Pdfオプション IronPDF レンダリングオプション
Options.PageSize = PdfPageSizes.A4 PaperSize = PdfPaperSize.A4
Options.OutputArea (長方形F) MarginBottom など

コード移行の例

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
$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!");
    }
}
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
$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!");
    }
}
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
$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!");
    }
}
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
$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.");
    }
}
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
$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.");
    }
}
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
$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!");
    }
}
Imports EO.Pdf
Imports System

Class Program
    Shared Sub Main()
        Dim doc1 As New PdfDocument("file1.pdf")
        Dim doc2 As New PdfDocument("file2.pdf")

        Dim mergedDoc As New PdfDocument()
        mergedDoc.Append(doc1)
        mergedDoc.Append(doc2)

        mergedDoc.Save("merged.pdf")

        Console.WriteLine("PDFs merged successfully!")
    End Sub
End Class
$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!");
    }
}
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
$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;
' 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.Xrenderer.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
$vbLabelText   $csharpLabel

ACMからHTMLへの移行

EO.Pdf の高度なコンテンツ モデル (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)
$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");
' 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")
$vbLabelText   $csharpLabel

コンストラクタから静的ファクトリへ

new PdfDocument(path)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")
$vbLabelText   $csharpLabel

移行後のチェックリスト

コードの移行が完了したら、以下を確認してください:

  • 生成されたPDFの視覚的な比較
  • ヘッダー/フッターが正しくレンダリングされることを確認する
  • セキュリティ/暗号化設定をテストする
  • マージ操作を検証する
  • パフォーマンスベンチマーク
  • クロスプラットフォームテスト(Windows、Linux、macOS)
  • EO.Pdfライセンスファイルを削除する
  • ドキュメントの更新

PDFインフラストラクチャの将来性を確保する

.NET 10が目前に迫り、C# 14では新しい言語機能が導入されるため、最新 for .NETネイティブサポートを備えたPDFライブラリを選択することで、長期的な互換性を確保できます。 IronPdfのインスタンスベースのスレッドセーフアーキテクチャは現代のウェブアプリケーションのパターンに合致しており、特にEO.Pdfの静的グローバルオプションが並行性の問題を引き起こすマルチテナントのSaaSアプリケーションにとって重要です。

その他のリソース


EO.PdfからIronPdfに移行することで、126MBのパッケージの肥大化、IE時代のお荷物、静的グローバルオプションによるスレッドセーフの懸念がなくなります。 インスタンスベースの構成に移行することで、PDF生成コードがマルチスレッドのWebアプリケーションで確実に動作することを保証すると同時に、真のクロスプラットフォーム・デプロイメントをサポートします。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね