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

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

PDF Duo .NETからIronPDFに移行することで、あなた for .NET PDFワークフローは、メンテナンス状況が不明瞭で、ドキュメントが不十分なライブラリから、安定し、ドキュメントが整備され、活発にメンテナンスされているソリューションに移行します。 このガイドでは、放棄されたライブラリに関連するリスクを排除しながら、PDF Duoでは提供できない高度な機能へのアクセスを得るための、包括的で段階的な移行パスを提供します。

なぜPDF DuoからIronPDFへ移行するのか

PDFデュオのリスク問題

PDF Duo .NETは、.NETエコシステムの中でもとらえどころがなく、あまり知られていないライブラリです。 シンプルさを求める開発者には魅力的だったかもしれませんが、このライブラリの不明瞭さは、プロダクション・アプリケーションにとっては大きな課題となります:

1.出所不明:検証可能な企業の支援のない、不明な開発者。 目に見えるGitHubリポジトリやソースコードはなく、NuGetのダウンロード統計も限られており、ライセンス条件も不明確です。

2.ドキュメントの不足:信頼できる情報を見つけることはほぼ不可能です。 公式のAPIリファレンスはなく、コミュニティの例もまばらで、公式のチュートリアルやガイドもありません。 PDF Duoを利用しようとすると、信頼できる文書が少ないことが妨げになります。

3.放棄または非アクティブなステータス:更新が散発的またはまったく行われていないことから、放置の兆候が明らかです。 サポートフォーラムには、2019年からの投稿が表示され、回答はありません。 翻訳が放棄されるという現実的なリスクがあるため、重要なプロジェクトで使用することはできません。

4.機能が制限されています:基本的な機能のみ。シンプルな HTML から PDF への変換と基本的な PDF の結合のみで、フォーム、セキュリティ、透かしなどの高度な機能はありません。

5.不明なレンダリング エンジン:内部で何が行われているかは不明です。 CSS/JavaScriptのサポートは未知数で、レンダリング品質も予測できず、最新のウェブ機能のサポートも不確かです。

6.サポートリスク:故障時に救済措置がありません。 Professionalなサポートはなく、助けてくれるコミュニティもありません。

PDF DuoとIronPDFの比較

アスペクト PDF Duo .NET IronPDF
メンテナンス 不明/活動中 積極的な定期更新
ドキュメンテーション まばら/欠落 包括的
サポート なし プロのサポートチーム
コミュニティ ~ユーザー数 4100万以上のNuGetダウンロード
レンダリング 未知のエンジン モダンChromium
特徴 基本 フル機能
安定性 不明 生産実績
ライセンス 不明確 透明な

2025年と2026年まで.NET 10とC# 14の採用を計画しているチームにとって、IronPDFはアクティブな開発と包括的なドキュメントで安定した基盤を提供し、見捨てられたライブラリに依存する不確実性を排除します。


始める前に

前提条件

  1. .NET環境: .NET Framework 4.6.2+ または.NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGetアクセス: NuGetパッケージをインストールする機能
  3. IronPDFライセンス: IronPDFからライセンスキーを取得します。

NuGetパッケージの変更

# RemovePDF Duo .NET(if you can find the correct package name)
dotnet remove package PDFDuo.NET
dotnet remove package PDFDuo
dotnet remove package PDF-Duo

# Install IronPDF
dotnet add package IronPdf
# RemovePDF Duo .NET(if you can find the correct package name)
dotnet remove package PDFDuo.NET
dotnet remove package PDFDuo
dotnet remove package PDF-Duo

# Install IronPDF
dotnet add package IronPdf
SHELL

ライセンス構成

// 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

PDF Duo の使用法を特定する

# Find all PDF Duo references
grep -r "PDFDuo\|HtmlToPdfConverter\|PdfMerger" --include="*.cs" .
# Find all PDF Duo references
grep -r "PDFDuo\|HtmlToPdfConverter\|PdfMerger" --include="*.cs" .
SHELL

完全な API リファレンス

名前空間の変更

PDF Duo .NET IronPDF
using PDFDuo; using IronPdf;
using PDFDuo.Document; using IronPdf;
using PDFDuo.Rendering; using IronPdf.Rendering;
using PDFDuo.Settings; using IronPdf;

HTMLからPDFへの変換マッピング

PDF Duo .NET IronPDF
new HtmlToPdfConverter() new ChromePdfRenderer()
converter.ConvertHtmlString(html, path) renderer.RenderHtmlAsPdf(html).SaveAs(path)
converter.ConvertUrl(url, path) renderer.RenderUrlAsPdf(url).SaveAs(path)
converter.ConvertFile(htmlPath, pdfPath) renderer.RenderHtmlFileAsPdf(htmlPath).SaveAs(pdfPath)

ページ構成マッピング

PDF Duo .NET IronPDF
settings.PageSize = PageSize.A4 RenderingOptions.PaperSize = PdfPaperSize.A4
settings.PageSize = PageSize.Letter RenderingOptions.PaperSize = PdfPaperSize.Letter
settings.Orientation = Landscape RenderingOptions.PaperOrientation = Landscape
new Margins(top, right, bottom, left) 個々のマージン特性

マージンのマッピング

PDF Duo .NET IronPDF
new Margins(top, right, bottom, left) 個々のプロパティ
margins.Top RenderingOptions.MarginTop
margins.Right RenderingOptions.MarginRight
margins.Bottom RenderingOptions.MarginBottom
margins.Left RenderingOptions.MarginLeft

ドキュメント操作マッピング

PDF Duo .NET IronPDF
PDFDocument.Load(path) PdfDocument.FromFile(path)
document.Save(path) pdf.SaveAs(path)
document.ToBytes() pdf.BinaryData
new PdfMerger() PdfDocument.Merge()
merger.AddFile(path) PdfDocument.FromFile(path)
merger.Merge(output) merged.SaveAs(output)

PDF Duoでは利用できない新機能

フィーチャー IronPDF
ヘッダー/フッター RenderingOptions.HtmlHeader, HtmlFooter
ページ数 {total-pages} プレースホルダー
透かし pdf.ApplyWatermark(html)
パスワード保護 pdf.SecuritySettings
フォーム入力 pdf.Form.Fields
デジタル署名 pdf.SignWithFile()
テキスト抽出 pdf.ExtractAllText()
PDFから画像へ pdf.RasterizeToImageFiles()

コード移行の例

例1: HTMLからPDFへの変換

翻訳前(PDF Duo):

// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        converter.ConvertHtmlString(htmlContent, "output.pdf");
        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        converter.ConvertHtmlString(htmlContent, "output.pdf");
        Console.WriteLine("PDF created successfully!");
    }
}
Imports PDFDuo
Imports System

Module Program
    Sub Main()
        Dim converter As New HtmlToPdfConverter()
        Dim htmlContent As String = "<h1>Hello World</h1><p>This is a PDF document.</p>"
        converter.ConvertHtmlString(htmlContent, "output.pdf")
        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()
    {
        var renderer = new ChromePdfRenderer();
        var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>"
        Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
        pdf.SaveAs("output.pdf")
        Console.WriteLine("PDF created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

ここでの基本的な違いは、APIパターンです。 PDF Duo の HtmlToPdfConverter.ConvertHtmlString() は、HTML と出力パスの両方を 1 回の呼び出しで受け取り、変換と保存をまとめて処理します。IronPDFの ChromePdfRenderer.RenderHtmlAsPdf() は最初に PdfDocument オブジェクトを返し、次にそれを SaveAs() で保存します。

このオブジェクト指向のアプローチには大きな利点があります。PDFを操作(透かしの追加、文書の結合、セキュリティの追加、テキストの抽出)してから保存することができます。 その他のレンダリングオプションについては、HTML to PDF documentationを参照してください。

例2: URLからPDFへの変換

翻訳前(PDF Duo):

// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.ConvertUrl("https://www.example.com", "webpage.pdf");
        Console.WriteLine("Webpage converted to PDF!");
    }
}
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.ConvertUrl("https://www.example.com", "webpage.pdf");
        Console.WriteLine("Webpage converted to PDF!");
    }
}
Imports PDFDuo
Imports System

Module Program
    Sub Main()
        Dim converter As New HtmlToPdfConverter()
        converter.ConvertUrl("https://www.example.com", "webpage.pdf")
        Console.WriteLine("Webpage converted to PDF!")
    End Sub
End Module
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("Webpage converted to PDF!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("Webpage converted to PDF!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
        pdf.SaveAs("webpage.pdf")
        Console.WriteLine("Webpage converted to PDF!")
    End Sub
End Class
$vbLabelText   $csharpLabel

PDF Duo は、URL 変換に ConvertUrl(url, outputPath) と同​​じ HtmlToPdfConverter クラスを使用します。IronPDFは、専用の RenderUrlAsPdf(url) メソッドで ChromePdfRenderer を使用し、PdfDocument オブジェクトを返します。

主な利点は、IronPDFのChromiumベースのレンダリングエンジンが最新のCSS3とJavaScriptをサポートするのに対し、PDF Duoの未知のレンダリングエンジンではCSS/JavaScriptのサポートが不確実で、レンダリングの品質も予測できません。 URLからPDFへの変換の詳細については、こちらをご覧ください。

例 3: PDF のマージ

翻訳前(PDF Duo):

// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var merger = new PdfMerger();
        merger.AddFile("document1.pdf");
        merger.AddFile("document2.pdf");
        merger.Merge("merged.pdf");
        Console.WriteLine("PDFs merged successfully!");
    }
}
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var merger = new PdfMerger();
        merger.AddFile("document1.pdf");
        merger.AddFile("document2.pdf");
        merger.Merge("merged.pdf");
        Console.WriteLine("PDFs merged successfully!");
    }
}
Imports PDFDuo
Imports System

Class Program
    Shared Sub Main()
        Dim merger As New PdfMerger()
        merger.AddFile("document1.pdf")
        merger.AddFile("document2.pdf")
        merger.Merge("merged.pdf")
        Console.WriteLine("PDFs merged successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

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

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");
        var merged = PdfDocument.Merge(pdf1, pdf2);
        merged.SaveAs("merged.pdf");
        Console.WriteLine("PDFs merged successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");
        var merged = PdfDocument.Merge(pdf1, pdf2);
        merged.SaveAs("merged.pdf");
        Console.WriteLine("PDFs merged successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim pdf1 = PdfDocument.FromFile("document1.pdf")
        Dim pdf2 = PdfDocument.FromFile("document2.pdf")
        Dim merged = PdfDocument.Merge(pdf1, pdf2)
        merged.SaveAs("merged.pdf")
        Console.WriteLine("PDFs merged successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

この例は、基本的なアーキテクチャの違いを示しています。 PDF Duo は、専用の PdfMerger クラスと AddFile() メソッドを使用してファイルをキューに入れ、その後 Merge() で 1 ステップで結合して保存します。

IronPDF は異なるパターンを使用します。PdfDocument.FromFile() を使用して各 PDF を PdfDocument として読み込み、次に静的な PdfDocument.Merge() メソッドを使用してそれらを結合します。 これにより、SaveAs() で個別に保存する新しい PdfDocument オブジェクトが返されます。

IronPDFのアプローチはより柔軟性があり、マージする前にPDFを操作したり、マージ結果に透かしを入れたり、セキュリティ設定を適用したりすることができます。 多数のファイルをマージするには、LINQを使用できます:

var paths = new[] { "document1.pdf", "document2.pdf", "document3.pdf" };
var pdfs = paths.Select(PdfDocument.FromFile).ToList();
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("merged.pdf");
var paths = new[] { "document1.pdf", "document2.pdf", "document3.pdf" };
var pdfs = paths.Select(PdfDocument.FromFile).ToList();
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("merged.pdf");
Dim paths = {"document1.pdf", "document2.pdf", "document3.pdf"}
Dim pdfs = paths.Select(AddressOf PdfDocument.FromFile).ToList()
Dim merged = PdfDocument.Merge(pdfs)
merged.SaveAs("merged.pdf")
$vbLabelText   $csharpLabel

PDFのマージと分割については、こちらをご覧ください。


移行後の新機能

IronPDFに移行した後は、PDF Duoでは提供できない機能を得ることができます:

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

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:center; font-size:10px;'>Company Report</div>",
    MaxHeight = 25
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:center; font-size:10px;'>Page {page} of {total-pages}</div>",
    MaxHeight = 25
};

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:center; font-size:10px;'>Company Report</div>",
    MaxHeight = 25
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:center; font-size:10px;'>Page {page} of {total-pages}</div>",
    MaxHeight = 25
};

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .HtmlFragment = "<div style='text-align:center; font-size:10px;'>Company Report</div>",
    .MaxHeight = 25
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .HtmlFragment = "<div style='text-align:center; font-size:10px;'>Page {page} of {total-pages}</div>",
    .MaxHeight = 25
}

Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("report.pdf")
$vbLabelText   $csharpLabel

PDF Duoはヘッダーやフッターに対応しておらず、同等の機能はありません。 IronPDFはHTML/CSSをフルサポートし、ページ番号のような動的コンテンツ用のプレースホルダーを内蔵しています。 ヘッダーとフッターガイドを参照してください。

ウォーターマーク

using IronPdf;
using IronPdf.Editing;

var pdf = PdfDocument.FromFile("document.pdf");

pdf.ApplyWatermark(
    "<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>",
    45,
    VerticalAlignment.Middle,
    HorizontalAlignment.Center);

pdf.SaveAs("watermarked.pdf");
using IronPdf;
using IronPdf.Editing;

var pdf = PdfDocument.FromFile("document.pdf");

pdf.ApplyWatermark(
    "<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>",
    45,
    VerticalAlignment.Middle,
    HorizontalAlignment.Center);

pdf.SaveAs("watermarked.pdf");
Imports IronPdf
Imports IronPdf.Editing

Dim pdf = PdfDocument.FromFile("document.pdf")

pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>", 45, VerticalAlignment.Middle, HorizontalAlignment.Center)

pdf.SaveAs("watermarked.pdf")
$vbLabelText   $csharpLabel

PDF Duoは透かしに対応していません。 IronPdfはHTMLベースの透かしを提供し、完全なCSSスタイリングをサポートします。

パスワード保護

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SaveAs("secured.pdf");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SaveAs("secured.pdf");
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

PDF Duoはパスワード保護やセキュリティ設定に対応していません。

テキスト抽出

var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim text As String = pdf.ExtractAllText()
$vbLabelText   $csharpLabel

PDF Duoはテキスト抽出に対応していません。


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

個々のプロパティへのマージンオブジェクト

PDF Duo は単一の Margins オブジェクトを使用します。 IronPDFは個々のプロパティを使用します:

// PDF Duo:
new Margins(top: 20, right: 15, bottom: 20, left: 15)

// IronPDF:
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginRight = 15;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 15;
// PDF Duo:
new Margins(top: 20, right: 15, bottom: 20, left: 15)

// IronPDF:
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginRight = 15;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 15;
' PDF Duo:
New Margins(top:=20, right:=15, bottom:=20, left:=15)

' IronPDF:
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginRight = 15
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 15
$vbLabelText   $csharpLabel

セーブメソッドの命名

保存のための異なるメソッド名:

// PDF Duo:
document.Save("output.pdf");

// IronPDF:
pdf.SaveAs("output.pdf");
// PDF Duo:
document.Save("output.pdf");

// IronPDF:
pdf.SaveAs("output.pdf");
' PDF Duo:
document.Save("output.pdf")

' IronPDF:
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

PDFの読み込み

ローディングのための異なるメソッド名:

// PDF Duo:
PDFDocument.Load("document.pdf")

// IronPDF:
PdfDocument.FromFile("document.pdf")
// PDF Duo:
PDFDocument.Load("document.pdf")

// IronPDF:
PdfDocument.FromFile("document.pdf")
' PDF Duo:
PDFDocument.Load("document.pdf")

' IronPDF:
PdfDocument.FromFile("document.pdf")
$vbLabelText   $csharpLabel

プロパティへの設定オブジェクト

PDF Duo は、コンストラクタに渡された設定オブジェクトを使用します; IronPDFはプロパティを使用します:

// PDF Duo:
var settings = new PDFSettings { PageSize = PageSize.A4 };
var converter = new HtmlToPdfConverter(settings);

// IronPDF:
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// PDF Duo:
var settings = new PDFSettings { PageSize = PageSize.A4 };
var converter = new HtmlToPdfConverter(settings);

// IronPDF:
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' PDF Duo:
Dim settings As New PDFSettings With {.PageSize = PageSize.A4}
Dim converter As New HtmlToPdfConverter(settings)

' IronPDF:
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
$vbLabelText   $csharpLabel

機能比較

フィーチャー PDF Duo .NET IronPDF
HTMLからPDFへ 基本 完全なCSS3、JavaScript
URLからPDFへ 基本 認証サポート付き
PDFマージ はい はい
ヘッダー/フッター なし HTMLフルサポート
ページ数 なし 組み込みプレースホルダ
透かし なし HTMLベース
パスワード保護 なし 完全なセキュリティオプション
フォーム入力 なし はい
デジタル署名 なし はい
テキスト抽出 なし はい
PDFから画像へ なし はい
非同期サポート 不明 完全なasync/await
.NET Core/5+ 不明 サポート対象

移行チェックリスト

移行前

  • コードベース内のすべての PDF Duo 参照を検索
  • 現在の設定(ページ サイズ、余白など)を文書化します
  • 使用されたすべてのPDF操作を一覧表示します
  • 新しい機能(ヘッダー、透かし、セキュリティ)の機会を特定する
  • IronPDFライセンスキーを取得する

パッケージの変更

  • PDFDuo.NET NuGetパッケージを削除します
  • IronPdf NuGetパッケージをインストールします: dotnet add package IronPdf
  • 名前空間のインポートを using PDFDuo; から using IronPdf; に更新します

コードの変更

  • 起動時にライセンスキー設定を追加する
  • HtmlToPdfConverterChromePdfRenderer に置き換えます
  • ConvertHtmlString(html, path)RenderHtmlAsPdf(html).SaveAs(path) に置き換えます
  • ConvertUrl(url, path)RenderUrlAsPdf(url).SaveAs(path) に置き換えます
  • PdfMerger パターンを PdfDocument.Merge() パターンに置き換えます
  • Margins オブジェクトを個別のマージンプロパティに変換します
  • Save()SaveAs() に置き換えます
  • Load()FromFile() に置き換えます

移行後

  • PDF出力を比較する回帰テストを実行する
  • ページサイズと余白が一致していることを確認する
  • 複雑な HTML/CSS でテストする (IronPDF の最新エンジンの方がより適切に処理できるはずです)
  • 新しい機能の追加(ヘッダー、フッター、透かし、セキュリティ)
  • ドキュメントの更新

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

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

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

アイアンサポートチーム

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