C#でPeachPDFからIronPDFに移行する方法
PeachPDFからIronPDFへの移行:完全なC#移行ガイド
PeachPDFからIronPdfに移行することで、包括的な機能、活発な開発、プロフェッショナルなサポートを備えたエンタープライズグレードのPDF生成にアクセスできます。 このガイドは、基本的なHTMLからPDFへのワークフローを、最新のChromiumレンダリング、高度なセキュリティオプション、および広範な操作機能を備えたフル機能のPDFソリューションに変換する、完全でステップバイステップの移行パスを提供します。
なぜPeachPDFからIronPDFに移行するのか
PeachPDFを理解する
PeachPDFは、HTMLをPDFに変換する必要がある開発者向けに設計された、.NETエコシステムの比較的新しい参入者です。 ライブラリとして、PeachPDFは純粋な.NET実装を約束し、外部プロセスに依存しないことで差別化を図り、.NETがサポートされているプラットフォーム間でシームレスに統合できることを保証します。 この特徴により、PeachPDF は、軽量でマネージドなライブラリソリューションをお探しのプロジェクトにとって魅力的な選択肢となります。
PeachPDFは、その可能性にもかかわらず、まだ開発中であり、エキサイティングな可能性と注目すべき制限の両方が浮き彫りになっています。 PeachPDFは、純粋な.NET Coreを採用しているため、多様な環境での簡単な導入が約束されており、魅力的です。 しかし、ユーザーベースやコミュニティ主導のサポートが少ないため、採用が限られることにもつながります。
PeachPDFの限界について
PeachPDF は比較的新しく、あまり知られていない PDF ライブラリで、確立されたソリューションのような成熟度、機能、サポートがありません。 移行する主な理由
1.限られた機能セット:PeachPDF には、電子署名、PDF/A コンプライアンス、高度なテキスト抽出などの高度な機能がありません。
2.小さなコミュニティ:限られたドキュメント、例、コミュニティサポート。 ユーザーベースが小さいため、コミュニティサポートがまばらで、サポートを得たり、広範なドキュメントを見つけることが困難な場合があります。
3.不確かな将来:確立された実績のない新しいライブラリは、採用リスクを伴います。
4.基本的なHTMLのサポート:限られたCSSとJavaScriptのレンダリング機能。
5.企業サポートなし:ProfessionalサポートやSLAオプションはありません。
PeachPDFとIronPDFの比較
| 機能/特徴 | ピーチPDF | IronPDF |
|---|---|---|
| 実装 | 純粋な.NET | 幅広い互換性で管理 |
| ライセンス | オープンソース (BSD-3 条) | 商用 |
| ユーザーベース | 小規模 | 大規模(40M以上のダウンロード) |
| サポート | コミュニティ主導 | プロフェッショナルな専任サポート |
| HTMLレンダリング。 | 基本 | 完全なChromium |
| CSSサポート | 制限的 | 完全なCSS3 |
| JavaScript(ジャバスクリプト | 基本 | フルES2024 |
| デジタル署名。 | なし | はい |
| PDF/Aコンプライアンス | なし | はい |
| ドキュメント | 制限的 | 広範囲 |
| 開発ステータス | 開発中 | 成熟した安定したリリース |
IronPdfはHTMLからPDFへの変換だけでなく、OCR、透かし、その他の高度な機能をサポートし、より幅広い機能を備えています。 Professionalなサポート体制は、開発者が直面する問題を迅速に解決するための決定的な利点です。
2025年と2026年まで.NET 10とC# 14の採用を計画しているチームに対して、IronPDFは包括的な機能と積極的なメンテナンスを提供し、長期的な安定性と最新の.NETフレームワークとの互換性を保証します。
始める前に
前提条件
1..NET環境: .NET Framework 4.6.2+ または .NET Core 3.1+ / .NET 5/6/7/8/9+. 2.NuGetアクセス:NuGetパッケージをインストールする能力。 3.IronPDFライセンス:ironPdf.comからライセンスキーを取得してください。
NuGetパッケージの変更
# Remove PeachPDF
dotnet remove package PeachPDF
# Install IronPDF
dotnet add package IronPdf# Remove PeachPDF
dotnet remove package PeachPDF
# Install IronPDF
dotnet add package IronPdfライセンス構成
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IRON VB CONVERTER ERROR developers@ironsoftware.comPeachPDFの使用方法を特定する
# AuditピーチPDFusage in codebase
grep -r "using PeachPDF" --include="*.cs" .
grep -r "HtmlToPdfConverter\|Convert\|ConvertUrl" --include="*.cs" .# AuditピーチPDFusage in codebase
grep -r "using PeachPDF" --include="*.cs" .
grep -r "HtmlToPdfConverter\|Convert\|ConvertUrl" --include="*.cs" .完全な API リファレンス
名前空間の変更
// Before: PeachPDF
using PeachPDF;
using System.IO;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;// Before: PeachPDF
using PeachPDF;
using System.IO;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;IRON VB CONVERTER ERROR developers@ironsoftware.comコア API マッピング
| ピーチPDF | IronPDF | ノート |
|---|---|---|
new HtmlToPdfConverter(). | new ChromePdfRenderer(). | レンダラーの作成 |
converter.Convert(html). | renderer.RenderHtmlAsPdf(html). | HTMLからPDFへ |
converter.ConvertUrl(url). | renderer.RenderUrlAsPdf(url)のようにします。 | URLからPDFへ |
| <コード>converter.Header</コード | renderer.RenderingOptions.HtmlHeader。 | ヘッダーコンテンツ |
| <コード>コンバーター.フッター</コード | renderer.RenderingOptions.HtmlFooter。 | フッターコンテンツ |
File.WriteAllBytes(path, pdf). | pdf.SaveAs(path)のようにします。 | ファイルを保存 |
pdf (byte[]) | <コード>pdf.BinaryData</コード | バイト |
PdfReader.LoadFromFile(path)を実行します。 | PdfDocument.FromFile(パス)。 | PDFを読み込む |
document.MergeWith(other)を使用してください。 | PdfDocument.Merge(pdfs). | PDFのマージ |
コード移行の例
例1: HTML文字列からPDFへの変換
翻訳前 (PeachPDF):
using PeachPDF;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdf);
}
}using PeachPDF;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdf);
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comこの例は、2つのライブラリの基本的な違いを示しています。 PeachPDFは、バイト[]を返すConvert()メソッドを持つHtmlToPdfConverterを使用しており、保存にはFile.WriteAllBytes()が必要です。 IronPDFは組み込みのSaveAs()メソッドを持つPdfDocumentオブジェクトを返すRenderHtmlAsPdf()を持つChromePdfRendererを使用します。
PeachPDFのバイト配列が最終的な出力であるのに対し、IronPdfのアプローチの主な利点は、保存する前にPdfDocumentオブジェクトをさらに操作(透かしの追加、結合、セキュリティ設定)できることです。 IronPDFのアプローチは、よりきれいな構文と最新の.NETアプリケーションとのより良い統合を提供します。 包括的な例については、HTML to PDF documentationを参照してください。
例2: URLからPDFへの変換
翻訳前 (PeachPDF):
using PeachPDF;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var url = "https://www.example.com";
var pdf = converter.ConvertUrl(url);
File.WriteAllBytes("webpage.pdf", pdf);
}
}using PeachPDF;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var url = "https://www.example.com";
var pdf = converter.ConvertUrl(url);
File.WriteAllBytes("webpage.pdf", pdf);
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var url = "https://www.example.com";
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var url = "https://www.example.com";
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comPeachPDFはConvertUrl()を使用し、IronPDFはRenderUrlAsPdf()を使用します。 IronPDFのメソッド名はより説明的で、URLがPDFとしてレンダリングされることを明示的に示しています。 どちらのライブラリもURLからPDFへの変換を同様に扱いますが、IronPDFの完全なChromiumエンジンは複雑なCSSやJavaScriptを含む最新のウェブページの優れたレンダリングを提供します。 詳しくは、チュートリアルをご覧ください。
例3: ヘッダーとフッターを追加する
翻訳前 (PeachPDF):
using PeachPDF;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.Header = "<div style='text-align:center'>My Header</div>";
converter.Footer = "<div style='text-align:center'>Page {page}</div>";
var html = "<html><body><h1>Document Content</h1></body></html>";
var pdf = converter.Convert(html);
File.WriteAllBytes("document.pdf", pdf);
}
}using PeachPDF;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.Header = "<div style='text-align:center'>My Header</div>";
converter.Footer = "<div style='text-align:center'>Page {page}</div>";
var html = "<html><body><h1>Document Content</h1></body></html>";
var pdf = converter.Convert(html);
File.WriteAllBytes("document.pdf", pdf);
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>My Header</div>" };
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Page {page}</div>" };
var html = "<html><body><h1>Document Content</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("document.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>My Header</div>" };
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Page {page}</div>" };
var html = "<html><body><h1>Document Content</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("document.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comこの例は、重要なアーキテクチャの違いを示しています。ピーチPDFはヘッダーとフッターに単純な文字列プロパティ (converter.Header と converter.Footer) を使用します。 IronPDFはRenderingOptions.HtmlHeaderとRenderingOptions.HtmlFooterに割り当てられたHtmlHeaderFooterオブジェクトを使用します。
HtmlHeaderFooterオブジェクトはヘッダー/フッターのサイズをコントロールするためのMaxHeightのような追加プロパティを含むことができます。どちらのライブラリもページ番号のプレースホルダとして{page}を使うことに注意してください。 IronPDFは総ページ数の{total-pages}<//code>もサポートしています。
IronPDFに必要な追加の名前空間に注意してください:using IronPdf.Rendering;はHtmlHeaderFooterクラスに必要です。
重要な移行に関する注意事項
コンバータ クラスの変更
PeachPDFはHtmlToPdfConverterを使用しています; IronPDFはChromePdfRendererを使用しています:
// PeachPDF
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();// PeachPDF
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();IRON VB CONVERTER ERROR developers@ironsoftware.com返品タイプの変更
PeachPDF は byte[] を返します; IronPDFはPdfDocumentを返します:
// PeachPDF: Returns byte array
byte[] pdf = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdf);
// IronPDF: Returns PdfDocument object
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or get bytes: byte[] bytes = pdf.BinaryData;// PeachPDF: Returns byte array
byte[] pdf = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdf);
// IronPDF: Returns PdfDocument object
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or get bytes: byte[] bytes = pdf.BinaryData;IRON VB CONVERTER ERROR developers@ironsoftware.comヘッダー/フッターのプロパティの変更
// PeachPDF: Simple string properties
converter.Header = "<div>Header</div>";
converter.Footer = "<div>Footer</div>";
// IronPDF: HtmlHeaderFooter objects
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div>Header</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div>Footer</div>"
};// PeachPDF: Simple string properties
converter.Header = "<div>Header</div>";
converter.Footer = "<div>Footer</div>";
// IronPDF: HtmlHeaderFooter objects
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div>Header</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div>Footer</div>"
};IRON VB CONVERTER ERROR developers@ironsoftware.comメソッド名の変更
| ピーチPDF | IronPDF |
|---|---|
| <コード>変換(html)</コード | RenderHtmlAsPdf(html)を使用してください。 |
ConvertUrl(url)を使用してください。 | RenderUrlAsPdf(url)を使用してください。 |
| <コード>File.WriteAllBytes()</コード | <コード>SaveAs()</コード |
移行後の新機能
IronPdfに移行すると、PeachPDFでは提供できない機能が得られます:
PDFマージ
var pdf1 = PdfDocument.FromFile("doc1.pdf");
var pdf2 = PdfDocument.FromFile("doc2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");var pdf1 = PdfDocument.FromFile("doc1.pdf");
var pdf2 = PdfDocument.FromFile("doc2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");CONVERTER NOT RUNNINGHTMLによるウォーターマーク
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<div style='color: red; font-size: 48pt;'>DRAFT</div>");
pdf.SaveAs("watermarked.pdf");var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<div style='color: red; font-size: 48pt;'>DRAFT</div>");
pdf.SaveAs("watermarked.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comパスワード保護
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");
pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SaveAs("protected.pdf");var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");
pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SaveAs("protected.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comデジタル署名
using IronPdf.Signing;
var pdf = PdfDocument.FromFile("document.pdf");
var signature = new PdfSignature("certificate.pfx", "password")
{
SigningReason = "Document Approval",
SigningLocation = "New York"
};
pdf.Sign(signature);
pdf.SaveAs("signed.pdf");using IronPdf.Signing;
var pdf = PdfDocument.FromFile("document.pdf");
var signature = new PdfSignature("certificate.pfx", "password")
{
SigningReason = "Document Approval",
SigningLocation = "New York"
};
pdf.Sign(signature);
pdf.SaveAs("signed.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.com非同期オペレーション
var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Async PDF</h1>");
pdf.SaveAs("async_output.pdf");var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Async PDF</h1>");
pdf.SaveAs("async_output.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.com機能比較の概要
| フィーチャー | ピーチPDF | IronPDF |
|---|---|---|
| HTMLからPDFへ | 基本 | 完全なChromium |
| URLからPDFへ | 制限的 | はい |
| CSSグリッド/フレックスボックス | なし | はい |
| JavaScript | 制限的 | フルES2024 |
| PDFのマージ | はい | はい |
| PDFの分割 | 制限的 | はい |
| 透かし | 制限的 | フルHTML |
| ヘッダー/フッター | 基本 | フルHTML |
| デジタル署名 | なし | はい |
| PDF/A | なし | はい |
| フォーム入力 | 制限的 | はい |
| テキスト抽出 | 基本 | はい |
| 画像抽出 | なし | はい |
| 非同期サポート | 制限的 | はい |
| クロスプラットフォーム | 不明 | はい |
よくある移行の問題
課題1: 異なるAPIパターン
問題: PeachPDFはバイト配列出力のコンバーターパターンを使用しています; IronPDFはPdfDocument出力のレンダラパターンを使用します。
ソリューション:
//ピーチPDFpattern
var converter = new HtmlToPdfConverter();
var pdf = converter.Convert(html);
File.WriteAllBytes(path, pdf);
//IronPDFpattern
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);//ピーチPDFpattern
var converter = new HtmlToPdfConverter();
var pdf = converter.Convert(html);
File.WriteAllBytes(path, pdf);
//IronPDFpattern
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);IRON VB CONVERTER ERROR developers@ironsoftware.com課題2: 保存方法の違い
問題: PeachPDFはFile.WriteAllBytes()を必要とします; IronPDFにはSaveAs()が組み込まれています。
解決策: File.WriteAllBytes("path", pdf) を pdf.SaveAs("path") に置き換えてください。
課題3: ヘッダー/フッターオブジェクト
問題 PeachPDFは文字列プロパティを使用します; IronPDFはオブジェクトプロパティを使用します。
解決策: HtmlFragmentプロパティを使用して、HtmlHeaderFooterオブジェクトでHTML文字列をラップします。
移行チェックリスト
移行前
- [コードベースにおけるピーチPDFの使用状況の監査
- [カスタム設定の文書化
- [すべてのヘッダー/フッターの実装に注意してください。
- [ironpdf.comからIronPDFライセンスキーを入手してください。
- [ ] まずはIronPDFトライアルライセンスでテストしてください。
パッケージの変更
- [ ]
PeachPDFNuGetパッケージを削除する。 - [ ]
IronPdfNuGetパッケージをインストールします:dotnet add package IronPdfNuGetパッケージをインストールします。
コードの変更
- [ ] 名前空間のインポートを更新 (
using PeachPDF;→using IronPdf;) - [
using IronPdf.Rendering;for header/footer functionalityを追加してください。 - [ ]
HtmlToPdfConverterをChromePdfRendererに置き換えてください。 - [ ]
converter.Convert(html)をrenderer.RenderHtmlAsPdf(html)に置き換えてください。 - [ ]
converter.ConvertUrl(url)をrenderer.RenderUrlAsPdf(url)に置き換えてください。 - [ ]
File.WriteAllBytes(path,pdf)をpdf.SaveAs(path)に置き換えてください。 - [ ]
converter.Header/FooterをRenderingOptions.HtmlHeader/HtmlFooterオブジェクトに置き換えてください。 - [アプリケーション起動時のライセンス初期化機能の追加
移行後
- [HTMLレンダリング品質のテスト
- [PDF 出力が期待値と合っているか確認する。
- [ページ番号を含むヘッダー/フッターのレンダリングをテストしてください。
- [必要に応じて、新しい機能(セキュリティ、透かし、マージ)を追加してください。
結論
PeachPDFとIronPdfのどちらを選ぶかは、最終的にはプロジェクトの具体的なニーズ次第です。 純粋な.NET実装のPeachPDFは、広範な機能セットやサポートを必要とせず、軽量のオープンソースソリューションを必要とするプロジェクトに最適です。 しかし、より幅広い機能、コミュニティによる大きなバックアップ、そしてプロフェッショナルなサポートに関しては、IronPDFは明確なアドバンテージを持ち、継続的なサポートと信頼性の高い商用ソリューションを活用したい企業にとって最適な選択となります。
この移行における主な変更点は以下のとおりです: 1.コンバータクラス:HtmlToPdfConverter → ChromePdfRenderer 2.HTMLメソッド:変換(html) → RenderHtmlAsPdf(html)。 3.URLメソッド:ConvertUrl(url) → RenderUrlAsPdf(url). 4.戻り値の型:byte[] → PdfDocument 5.保存メソッド:File.WriteAllBytes() → pdf.SaveAs(). 6.ヘッダー/フッター: 文字列プロパティ → HtmlHeaderFooterオブジェクト 7.名前空間:PeachPDFを使用する; → IronPdfを使用する; + IronPdf.Renderingを使用する;。 8.新機能:デジタル署名、PDF/Aコンプライアンス、CSS3/JavaScriptの完全サポートなど
IronPdfは、PeachPDFでは提供できない包括的な機能、積極的な開発、プロフェッショナルなサポートを備えたエンタープライズグレードのPDF生成を提供します。多くのユーザーベースと豊富なドキュメントを持つIronPDFは、長期的な安定性と最新の.NETフレームワークとの互換性を保証します。
IronPDFドキュメント、チュートリアル、APIリファレンスをご覧いただき、PeachPDFへの移行を促進してください。






