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

C#でExpertPdfからIronPDFに移行する方法

ExpertPdfは、.NET用の商用HTML-PDFコンバータで、長年にわたり開発者にサービスを提供してきました。 しかし、ExpertPdfは、2018年以降凍結されたドキュメント、最新のCSS3機能を欠くレガシーなChromeバージョンへの依存、時代遅れのテクノロジーに対する550~1,200ドルのプレミアム価格、マージ、セキュリティ、分割のために個別のライセンスを必要とする断片的な製品群など、急速に進化する今日の開発環境において大きな課題に直面しています。 この包括的なガイドでは、ExpertPdfから最新のChromiumレンダリング、毎月のアップデート、オールインワンのパッケージアーキテクチャを持つ最新 for .NET PDFライブラリであるIronPDFへの移行パスをステップバイステップで提供します。

なぜExpertPdfからIronPDFに移行するのですか?

ExpertPdfには、開発チームを最新の代替ツールの評価に駆り立てるいくつかの課題があります。 これらの問題を理解することは、移行戦略を計画する上で不可欠です。

ExpertPdfの問題点

  1. 2018 年以降ドキュメントが凍結されています:エキスパートPDFのドキュメントは 6 年以上更新されていません。 .NETエコシステムの進化に伴い、最新の情報、例、ベストプラクティスを見つけることはますます難しくなっています。

2.古い Chrome バージョン:エキスパートPDFはレンダリングに Chrome の旧バージョンに依存しています。 最新のCSS3機能(Flexbox、Grid、CSS Variables)は正しくレンダリングされない可能性があり、セキュリティパッチは適用されません。

3.レガシー技術のプレミアム価格設定:エキスパートPDFは、ライセンスあたり 550 ~ 1,200 ドルというプレミアム価格を請求しながら、時代遅れのレンダリング技術を提供しています。

4.断片化された製品スイート:エキスパートPDFは、HtmlToPdf Converter、PDF Merger、PDF Security、PDF Splitter、PDF to Image など、さまざまな機能ごとに個別のパッケージを販売しており、それぞれに個別のライセンスが必要です。

5.最新 for .NETサポートが限られている:エキスパートPDFには.NET Coreパッケージがありますが、最新 for .NETバージョンとプラクティスに遅れをとっています。

アーキテクチャの比較

アスペクト エキスパートPDF IronPDF
ドキュメント 2018年より凍結 継続的な更新
レンダリングエンジン レガシーChrome 最新のChromium
CSSサポート 限定的なCSS3 フルCSS3(フレックスボックス、グリッド)
価格 $550-$1,200 競争力のある価格設定
更新頻度 頻度 毎月のリリース
製品モデル 断片化(5つ以上のDLL) オールインワンライブラリ
モダン.NET 制限的 .NET 6/7/8/9+ ネイティブ
非同期サポートについて 制限的 完全なasync/await

主な移行のメリット

1.モダンレンダリング:ピクセルパーフェクトな出力を実現する最新のChromiumエンジン 2.オールインワンパッケージ: PDF生成、マージ、セキュリティ、抽出を1つのNuGetで実現 3.積極的な開発:新機能とセキュリティパッチを含む毎月のアップデート 4.より良いドキュメント:包括的なチュートリアルと例 5.真のクロスプラットフォーム: Windows、Linux、macOS、Docker をサポート

移行前の準備

前提条件

あなたの環境がこれらの要件を満たしていることを確認してください:

  • .NET Framework 4.6.2+または.NET Core 3.1 / .NET 5-9
  • Visual Studio 2019+またはC#拡張機能付きVS Code
  • NuGetパッケージマネージャへのアクセス
  • IronPDFライセンスキー (ironpdf.com にて無料トライアル可能)

監査エキスパートPDFの使用法

ソリューションディレクトリで以下のコマンドを実行し、ExpertPdfへの参照をすべて特定します:

# Find allエキスパートPDFreferences
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
# Find allエキスパートPDFreferences
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
SHELL

一般的なExpertPdfパッケージ

  • ExpertPdf.HtmlToPdf - HTML から PDF への変換
  • ExpertPdf.PDFMerge - PDFの結合
  • ExpertPdf.PDFSecurity - 暗号化とパスワード
  • ExpertPdf.PDFSplit - PDF 分割
  • ExpertPdf.PdfToImage - PDF から画像への変換

コアパターンの変更を理解する

ExpertPdf は、直接バイト配列を返すメソッドで PdfConverter を使用します。IronPDFは、保存前に追加の操作機能を提供するオブジェクトを返す ChromePdfRenderer を使用します。

ステップごとの移行プロセス

ステップ 1: NuGet パッケージを更新する

すべてのExpertPdfパッケージを削除し、IronPdfをインストールしてください:

# Remove allエキスパートPDFpackages
dotnet remove package ExpertPdf.HtmlToPdf
dotnet remove package ExpertPdf.PDFMerge
dotnet remove package ExpertPdf.PDFSecurity
dotnet remove package ExpertPdf.PDFSplit
dotnet remove package ExpertPdf.PdfToImage

# InstallIronPDF(includes all features)
dotnet add package IronPdf
# Remove allエキスパートPDFpackages
dotnet remove package ExpertPdf.HtmlToPdf
dotnet remove package ExpertPdf.PDFMerge
dotnet remove package ExpertPdf.PDFSecurity
dotnet remove package ExpertPdf.PDFSplit
dotnet remove package ExpertPdf.PdfToImage

# InstallIronPDF(includes all features)
dotnet add package IronPdf
SHELL

ステップ 2: 名前空間参照の更新

ExpertPdfの名前空間をIronPdfに置き換えてください:

// Remove these
using ExpertPdf.HtmlToPdf;

// Add this
using IronPdf;
// Remove these
using ExpertPdf.HtmlToPdf;

// Add this
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

ステップ 3: ライセンスの設定

ExpertPdfは、コンバータごとのライセンスを使用しています。 IronPDFは単一のグローバルライセンスを使用しています:

// 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 移行のリファレンス

コア クラス マッピング

ExpertPdfクラス IronPDF 同等物
PdfConverter ChromePdfRenderer
PdfDocumentOptions ChromePdfRenderOptions
PdfHeaderOptions TextHeaderFooter または HtmlHeaderFooter
PdfFooterOptions TextHeaderFooter または HtmlHeaderFooter
PDFMerge PdfDocument.Merge()

メソッドマッピング

ExpertPdf メソッド IronPDF メソッド
pdfConverter.GetPdfBytesFromHtmlString(html) renderer.RenderHtmlAsPdf(html).BinaryData
pdfConverter.GetPdfBytesFromUrl(url) renderer.RenderUrlAsPdf(url).BinaryData
pdfConverter.GetPdfBytesFromHtmlFile(path) renderer.RenderHtmlFileAsPdf(path).BinaryData
pdfConverter.SavePdfFromUrlToFile(url, path) renderer.RenderUrlAsPdf(url).SaveAs(path)

オプション マッピング

ExpertPdf オプション IronPDF レンダリングオプション
PdfDocumentOptions.PdfPageSize = PdfPageSize.A4 PaperSize = PdfPaperSize.A4
PdfDocumentOptions.PdfPageOrientation = Portrait PaperOrientation = PdfPaperOrientation.Portrait
PdfDocumentOptions.MarginTop MarginTop
PdfHeaderOptions.HeaderText TextHeader.CenterText
PdfFooterOptions.FooterText TextFooter.RightText

ページ番号トークン変換

ExpertPdfとIronPDFはページ番号に異なるプレースホルダー構文を使用します:

エキスパートPDF IronPDF
&p; {page}
&P; {total-pages}

コード移行の例

HTMLからPDFへの変換

基本的なHTMLからPDFへの変換は、ExpertPdfのバイトアレイパターンからIronPDFのドキュメントオブジェクトアプローチへの移行を示しています。

ExpertPdfの実装:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Convert HTML string to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>");

        // Save to file
        System.IO.File.WriteAllBytes("output.pdf", pdfBytes);

        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Convert HTML string to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>");

        // Save to file
        System.IO.File.WriteAllBytes("output.pdf", pdfBytes);

        Console.WriteLine("PDF created successfully!");
    }
}
Imports ExpertPdf.HtmlToPdf
Imports System

Module Program
    Sub Main()
        ' Create the PDF converter
        Dim pdfConverter As New PdfConverter()

        ' Convert HTML string to PDF
        Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>")

        ' Save to file
        System.IO.File.WriteAllBytes("output.pdf", pdfBytes)

        Console.WriteLine("PDF created successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDFの実装:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF from HTML string
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>");

        // Save to file
        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();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>");

        // Save to file
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        ' Create a PDF from HTML string
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>")

        ' Save to file
        pdf.SaveAs("output.pdf")

        Console.WriteLine("PDF created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF のアプローチは、PdfDocument オブジェクトを返すため、保存前に追加の操作 (マージ、透かし、セキュリティ) が可能になります。 その他のオプションについては、HTML to PDF documentationを参照してください。

ページ設定付きURL to PDF

ExpertPdfの実装:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Set page size and orientation
        pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
        pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;

        // Convert URL to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com");

        // Save to file
        System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes);

        Console.WriteLine("PDF from URL created successfully!");
    }
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Set page size and orientation
        pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
        pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;

        // Convert URL to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com");

        // Save to file
        System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes);

        Console.WriteLine("PDF from URL created successfully!");
    }
}
Imports ExpertPdf.HtmlToPdf
Imports System

Module Program
    Sub Main()
        ' Create the PDF converter
        Dim pdfConverter As New PdfConverter()

        ' Set page size and orientation
        pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4
        pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait

        ' Convert URL to PDF
        Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromUrl("https://www.example.com")

        ' Save to file
        System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes)

        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()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();

        // Set page size and orientation
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

        // Convert URL to PDF
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");

        // Save to file
        pdf.SaveAs("webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();

        // Set page size and orientation
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

        // Convert URL to PDF
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");

        // Save to file
        pdf.SaveAs("webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        ' Create a PDF renderer
        Dim renderer = New ChromePdfRenderer()

        ' Set page size and orientation
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait

        ' Convert URL to PDF
        Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")

        ' Save to file
        pdf.SaveAs("webpage.pdf")

        Console.WriteLine("PDF from URL created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF の RenderingOptions は、ページ構成のための直接プロパティ アクセスを提供します。 その他のオプションについては、URL to PDF documentationを参照してください。

ページ番号を含むヘッダーとフッター

この例では、ヘッダー/フッターの設定における重要な違いを示しています。ExpertPdf は、&P; トークンを使用して個別の PdfHeaderOptions クラスと PdfFooterOptions クラスを使用しますが、IronPDFは、{total-pages} プレースホルダーを使用して TextHeaderFooter を使用します。

ExpertPdfの実装:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Enable header
        pdfConverter.PdfHeaderOptions.ShowHeader = true;
        pdfConverter.PdfHeaderOptions.HeaderText = "Document Header";
        pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center;

        // Enable footer with page numbers
        pdfConverter.PdfFooterOptions.ShowFooter = true;
        pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;";
        pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right;

        // Convert HTML file to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html");

        // Save to file
        System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes);

        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Enable header
        pdfConverter.PdfHeaderOptions.ShowHeader = true;
        pdfConverter.PdfHeaderOptions.HeaderText = "Document Header";
        pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center;

        // Enable footer with page numbers
        pdfConverter.PdfFooterOptions.ShowFooter = true;
        pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;";
        pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right;

        // Convert HTML file to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html");

        // Save to file
        System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes);

        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}
Imports ExpertPdf.HtmlToPdf
Imports System

Class Program
    Shared Sub Main()
        ' Create the PDF converter
        Dim pdfConverter As New PdfConverter()

        ' Enable header
        pdfConverter.PdfHeaderOptions.ShowHeader = True
        pdfConverter.PdfHeaderOptions.HeaderText = "Document Header"
        pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center

        ' Enable footer with page numbers
        pdfConverter.PdfFooterOptions.ShowFooter = True
        pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;"
        pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right

        ' Convert HTML file to PDF
        Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromHtmlFile("input.html")

        ' Save to file
        System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes)

        Console.WriteLine("PDF with headers and footers created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDFの実装:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();

        // Configure header
        renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
        {
            CenterText = "Document Header",
            DrawDividerLine = true
        };

        // Configure footer with page numbers
        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            RightText = "Page {page} of {total-pages}",
            DrawDividerLine = true
        };

        // Convert HTML file to PDF
        var pdf = renderer.RenderHtmlFileAsPdf("input.html");

        // Save to file
        pdf.SaveAs("output-with-header-footer.pdf");

        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();

        // Configure header
        renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
        {
            CenterText = "Document Header",
            DrawDividerLine = true
        };

        // Configure footer with page numbers
        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            RightText = "Page {page} of {total-pages}",
            DrawDividerLine = true
        };

        // Convert HTML file to PDF
        var pdf = renderer.RenderHtmlFileAsPdf("input.html");

        // Save to file
        pdf.SaveAs("output-with-header-footer.pdf");

        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        ' Create a PDF renderer
        Dim renderer = New ChromePdfRenderer()

        ' Configure header
        renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
            .CenterText = "Document Header",
            .DrawDividerLine = True
        }

        ' Configure footer with page numbers
        renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
            .RightText = "Page {page} of {total-pages}",
            .DrawDividerLine = True
        }

        ' Convert HTML file to PDF
        Dim pdf = renderer.RenderHtmlFileAsPdf("input.html")

        ' Save to file
        pdf.SaveAs("output-with-header-footer.pdf")

        Console.WriteLine("PDF with headers and footers created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF の TextHeaderFooter は、オプションの区切り線を持つ CenterText、および RightText プロパティを提供します。 HTML ベースのヘッダーの場合は、HtmlHeaderFooter を使用します。 その他のオプションについては、headers and footers documentationを参照してください。

重要な移行に関する注意事項

ライセンス キー ロケーション

ExpertPdfは、コンバータごとのライセンスを使用しています。 IronPdfは起動時に単一のグローバルライセンスを使用します:

//エキスパートPDF- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";

//IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE";
//エキスパートPDF- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";

//IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE";
'エキスパートPDF- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE"

'IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE"
$vbLabelText   $csharpLabel

ページ番号トークン変換

ExpertPdfトークンをIronPDFプレースホルダーに置き換えてください:

// ExpertPdf
"Page &p; of &P;"

// IronPDF
"Page {page} of {total-pages}"
// ExpertPdf
"Page &p; of &P;"

// IronPDF
"Page {page} of {total-pages}"
$vbLabelText   $csharpLabel

断片化されたパッケージが統合されました

ExpertPdfの個別パッケージ(PDFMerge, PDFSecurity, PDFSplit, PdfToImage)はすべてIronPdfの単一パッケージに含まれています:

//エキスパートPDF- requires separate PDFMerge package
var merger = new PdfMerge();
merger.AppendPDFFile("file1.pdf");
merger.AppendPDFFile("file2.pdf");
merger.SaveMergedPDFToFile("merged.pdf");

//IronPDF- included in main package
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
//エキスパートPDF- requires separate PDFMerge package
var merger = new PdfMerge();
merger.AppendPDFFile("file1.pdf");
merger.AppendPDFFile("file2.pdf");
merger.SaveMergedPDFToFile("merged.pdf");

//IronPDF- included in main package
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
'エキスパートPDF- requires separate PDFMerge package
Dim merger As New PdfMerge()
merger.AppendPDFFile("file1.pdf")
merger.AppendPDFFile("file2.pdf")
merger.SaveMergedPDFToFile("merged.pdf")

'IronPDF- included in main package
Dim pdf1 = PdfDocument.FromFile("file1.pdf")
Dim pdf2 = PdfDocument.FromFile("file2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
$vbLabelText   $csharpLabel

マージオプションについては、PDFマージドキュメントを参照してください。

カスタムページサイズ

ExpertPdfはポイントを使用しています。 IronPDFはミリメートルを使用しています。 変換: points / 72 * 25.4 = mm

移行後のチェックリスト

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

  • 生成されたPDFの視覚的な比較
  • ヘッダー/フッターとページ番号を確認する
  • セキュリティ/暗号化設定をテストする
  • マージ操作を検証する
  • カスタムページサイズを確認する
  • パフォーマンスベンチマーク
  • クロスプラットフォームテスト
  • ExpertPdfライセンスファイルを削除する
  • ドキュメントの更新

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

.NET 10が目前に迫り、C# 14では新しい言語機能が導入されるため、活発な開発と最新のレンダリングが行われているPDFライブラリを選択することで、長期的な互換性を確保することができます。 IronPdfの毎月のアップデートと最新のChromeエンジンは、ExpertPdfのレガシーなChromeバージョンとは異なり、プロジェクトが2025年や2026年に拡張されても、最新のCSS3レイアウト(Flexbox、Grid)で正しく動作し続けるPDF生成の基盤を提供します。

その他のリソース


ExpertPdfからIronPDFに移行することで、凍結されたドキュメント、レガシーなChromeレンダリング、断片化された製品ライセンス、限定された最新 for .NETサポートといった課題が解消されます。 最新のChromiumエンジンを備えたアクティブにメンテナンスされたライブラリへの移行により、PDF生成は、進化するWeb標準や.NET Frameworkと歩調を合わせることができます。

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

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

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

アイアンサポートチーム

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