C#でpdfからIronPDFに移行する方法
pdforgeからIronPDFへの移行:完全なC#移行ガイド
pdforgeからIronPDFに移行することで、PDF生成のワークフローが、外部サーバーでドキュメントを処理するクラウドベースのAPIから、アプリケーション内でローカルにすべてを処理する包括的な.NETライブラリに移行します。 このガイドでは、外部依存を排除し、継続的なサブスクリプションコストを排除し、ドキュメント処理パイプラインを完全に制御できるようにする、完全で段階的な移行パスを提供します。
なぜpdforgeからIronPDFに移行するのか
pdforgeを理解する。
pdforgeはクラウドベースのPDF生成APIであり、APIコールを通じてアプリケーションと統合することで、PDFファイルを生成する簡単な方法を提供します。 PDF作成のタスクを外部APIにオフロードすることで、開発者は開発プロセスを簡素化することができます。 しかし、pdforgeには、外部依存性、カスタマイズオプションの制限、継続的なサブスクリプション費用など、開発者が注意すべき欠点があります。
クラウド API の依存性の問題
pdforgeは、すべてのドキュメントを外部のクラウドサーバーで処理します。 このアーキテクチャーは、本番アプリケーションに大きな懸念をもたらします:
1.外部サーバー処理: PDFを作成するたびに、HTML/データをpdforgeのサーバーに送信する必要があります。
2.プライバシーとコンプライアンスに関するリスク:機密データはインターネットを経由してサードパーティのサーバーに送られます。 pdforgeを使用する場合、開発者はデータが外部APIに送信されることに関連するセキュリティ上の懸念に対応する必要があります。 PDFのコンテンツに機密情報が含まれている場合、これは重要な考慮事項となります。
3.継続的なサブスクリプション費用:pdforgeのSaaSモデルは、長期的に累積する可能性のある継続的な運用支出を導入します。
4.インターネット依存:ネットワークが利用できない場合、PDFは生成されません。
5.レート制限:API使用量の上限は、大量のアプリケーションをスロットルする可能性があります。
6.ネットワーク遅延:ラウンドトリップタイムは、すべてのPDF生成に数秒を追加します。
pdforgeとIronPDFの比較
| フィーチャー | pdforge | IronPDF |
|---|---|---|
| 展開タイプ | クラウドベースのAPI | ローカルライブラリ |
| 依存関係について | インターネットおよびAPI認証が必要です。 | 外部依存なし |
| カスタマイズ。 | PDF生成の制御が制限されている | カスタマイズの完全制御 |
| コスト構造 | 継続的な購読 | 1回限りの購入オプション |
| セキュリティ。 | ウェブ上で送信されるデータに関する潜在的な懸念 | データ処理を完全にローカル環境内に保持 |
| セットアップの複雑さ | 外部処理による初期設定の容易化 | 初期設定と構成が必要 |
IronPDFは完全にローカルなライブラリを提供し、開発者がPDF作成プロセスを完全にコントロールできるようにすることで差別化を図っています。 これは、ファイルの内部処理が優先されるアプリケーションや、外部API呼び出しによってセキュリティ上の懸念が生じるアプリケーションで特に有利です。 IronPdfはすべてをローカルで処理し、そのようなリスクを最小限に抑えます。
2025年と2026年まで.NET 10とC# 14の採用を計画しているチームにとって、IronPDFは包括的なPDF操作機能を追加しながら、クラウド依存を排除するローカル処理基盤を提供します。
始める前に
前提条件
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パッケージの変更
# Removepdforgepackages
dotnet remove package pdforge
dotnet remove package PdfForge
# Install IronPDF
dotnet add package IronPdf# Removepdforgepackages
dotnet remove package pdforge
dotnet remove package PdfForge
# Install IronPDF
dotnet add package 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";IRON VB CONVERTER ERROR developers@ironsoftware.compdforgeの使用法を特定する。
# Findpdforgeusage
grep -r "PdForge\|PdfClient\|HtmlToPdfRequest\|HtmlToPdfConverter" --include="*.cs" .
# Find placeholder patterns to migrate
grep -r "{totalPages}" --include="*.cs" .# Findpdforgeusage
grep -r "PdForge\|PdfClient\|HtmlToPdfRequest\|HtmlToPdfConverter" --include="*.cs" .
# Find placeholder patterns to migrate
grep -r "{totalPages}" --include="*.cs" .完全な API リファレンス
名前空間の変更
// Before: pdforge
using PdfForge;
using System.IO;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;// Before: pdforge
using PdfForge;
using System.IO;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;IRON VB CONVERTER ERROR developers@ironsoftware.comコア クラス マッピング
| pdforge | IronPDF | ノート |
|---|---|---|
| <コード>HtmlToPdfConverter</コード | <コード>ChromePdfRenderer</コード | 主なPDF生成ツール |
| <コード>PdfClient</コード | <コード>ChromePdfRenderer</コード | APIクライアントに相当 |
| <コード>ページサイズ.A4</コード | <コード>PdfPaperSize.A4</コード | 用紙サイズ列挙 |
| <コード>PageOrientation.Landscape</コード | <コード>PdfPaperOrientation.Landscape</コード | オリエンテーション列挙 |
| 戻り値の型<コード>バイト[]</コード | <コード>PdfDocument</コード | 成果物 |
メソッドマッピング
| pdforge | IronPDF | ノート |
|---|---|---|
converter.ConvertHtmlString(html). | renderer.RenderHtmlAsPdf(html). | HTML文字列からPDFへ |
converter.ConvertUrl(url). | renderer.RenderUrlAsPdf(url)のようにします。 | URLからPDFへ |
File.WriteAllBytes(path, bytes). | pdf.SaveAs(path)のようにします。 | ディスクに保存 |
| 戻り値の型<コード>バイト[]</コード | <コード>pdf.BinaryData</コード | 生のバイトを取得 |
構成マッピング
| pdforge | IronPDF (RenderingOptions) | ノート |
|---|---|---|
converter.PageSize = PageSize.A4. | renderer.RenderingOptions.PaperSize=PdfPaperSize.A4。 | 用紙サイズ |
converter.Orientation = PageOrientation.Landscape. | renderer.RenderingOptions.PaperOrientation=PdfPaperOrientation.Landscape。 | オリエンテーション |
Footer = "{totalPages}の{page}ページ"。 | TextFooter = new TextHeaderFooter { CenterText = "ページ{ページ}の{合計ページ}"} | フッター(プレースホルダーの変更にご注意ください) |
pdforgeでは利用できない新機能
| IronPDFの特徴 | 翻訳内容 |
|---|---|
PdfDocument.Merge()を使用してください。 | 複数のPDFを結合 |
pdf.ExtractAllText()を使用してください。 | PDFからのテキスト抽出 |
| <コード>pdf.ApplyWatermark()</コード></コード | 透かしの追加 |
| <コード>pdf.SecuritySettings</コード | パスワード保護 |
| <コード>pdf.Form</コード | フォーム入力 |
pdf.SignWithDigitalSignature()を使用してください。 | デジタル署名 |
コード移行の例
例1: HTML文字列からPDFへの変換
ビフォア(pdforge):。
// NuGet: Install-Package PdfForge
using PdfForge;
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.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
}
}// NuGet: Install-Package PdfForge
using PdfForge;
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.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
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;
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ここでの基本的な違いは、処理モデルと戻り値の型です。 pdforgeでは、HtmlToPdfConverterとConvertHtmlString()を使用しており、byte[]配列を返します。
IronPDFはPdfDocumentオブジェクトを返すRenderHtmlAsPdf()でChromePdfRendererを使用します。 このオブジェクトは、SaveAs()で直接保存することもできますし、生のバイトが必要な場合はpdf.BinaryDataにアクセスすることもできます。 また、PdfDocumentでは、保存前に操作(透かしの追加、他のPDFとの結合、セキュリティの追加)を行うことができます。 包括的な例については、HTML to PDF documentationを参照してください。
例2: URLからPDFへの変換
ビフォア(pdforge):。
// NuGet: Install-Package PdfForge
using PdfForge;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var pdf = converter.ConvertUrl("https://example.com");
File.WriteAllBytes("webpage.pdf", pdf);
}
}// NuGet: Install-Package PdfForge
using PdfForge;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var pdf = converter.ConvertUrl("https://example.com");
File.WriteAllBytes("webpage.pdf", pdf);
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("webpage.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("webpage.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.compdforgeは、HtmlToPdfConverterクラスのConvertUrl()を使用し、File.WriteAllBytes()で書き込んだバイトを返します。 IronPDFはChromePdfRenderer上でRenderUrlAsPdf()を使用し、組み込みのSaveAs()メソッドでPdfDocumentを返します。
IronPdfの主な利点は、Chromiumエンジンを使ってURLを取得し、ローカルでレンダリングすることです。 IronPdfはローカルライブラリであるため、ウェブリクエストのラウンドトリップタイムがなく、パフォーマンスが向上します。 URLからPDFへの変換の詳細については、こちらをご覧ください。
例3: カスタム設定でHTMLファイルをPDFにする
ビフォア(pdforge):。
// NuGet: Install-Package PdfForge
using PdfForge;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.PageSize = PageSize.A4;
converter.Orientation = PageOrientation.Landscape;
var htmlContent = File.ReadAllText("input.html");
var pdf = converter.ConvertHtmlString(htmlContent);
File.WriteAllBytes("output.pdf", pdf);
}
}// NuGet: Install-Package PdfForge
using PdfForge;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.PageSize = PageSize.A4;
converter.Orientation = PageOrientation.Landscape;
var htmlContent = File.ReadAllText("input.html");
var pdf = converter.ConvertHtmlString(htmlContent);
File.WriteAllBytes("output.pdf", pdf);
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
var htmlContent = System.IO.File.ReadAllText("input.html");
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
var htmlContent = System.IO.File.ReadAllText("input.html");
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comこの例は、構成パターンの違いを示しています。 pdforgeは、コンバーターオブジェクトに直接プロパティを設定します(converter.PageSize = PageSize.A4、converter.Orientation = PageOrientation.Landscape)。
IronPDFはRenderingOptionsプロパティと強く型付けされた列挙型を使用します:renderer.RenderingOptions.PaperSize=PdfPaperSize.A4とrenderer.RenderingOptions.PaperOrientation=PdfPaperOrientation.Landscapeです。 インテリセンスのサポートとコンパイル時の型安全性を提供します。 IronPDFは用紙サイズと向きの列挙のためにIronPdf.Rendering名前空間をインポートする必要があることに注意してください。 より多くの設定例については、チュートリアルを参照してください。
重要な移行に関する注意事項
返品タイプの変更
pdforgeはbyte[]を返します; IronPDFはPdfDocumentを返します:
// pdforge: Returns byte[]
byte[] pdfBytes = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdfBytes);
// IronPDF: Returns PdfDocument
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf"); // Direct save
byte[] bytes = pdf.BinaryData; // Get bytes if needed// pdforge: Returns byte[]
byte[] pdfBytes = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdfBytes);
// IronPDF: Returns PdfDocument
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf"); // Direct save
byte[] bytes = pdf.BinaryData; // Get bytes if neededIRON VB CONVERTER ERROR developers@ironsoftware.comコンバータ クラスの変更
// pdforge: HtmlToPdfConverter
var converter = new HtmlToPdfConverter();
// IronPDF: ChromePdfRenderer
var renderer = new ChromePdfRenderer();// pdforge: HtmlToPdfConverter
var converter = new HtmlToPdfConverter();
// IronPDF: ChromePdfRenderer
var renderer = new ChromePdfRenderer();IRON VB CONVERTER ERROR developers@ironsoftware.comメソッド名の変更
//pdforgemethods
converter.ConvertHtmlString(html)
converter.ConvertUrl(url)
//IronPDFmethods
renderer.RenderHtmlAsPdf(html)
renderer.RenderUrlAsPdf(url)//pdforgemethods
converter.ConvertHtmlString(html)
converter.ConvertUrl(url)
//IronPDFmethods
renderer.RenderHtmlAsPdf(html)
renderer.RenderUrlAsPdf(url)IRON VB CONVERTER ERROR developers@ironsoftware.com保存メソッドの変更
// pdforge: Manual file write
File.WriteAllBytes("output.pdf", pdfBytes);
// IronPDF: Built-in save method
pdf.SaveAs("output.pdf");// pdforge: Manual file write
File.WriteAllBytes("output.pdf", pdfBytes);
// IronPDF: Built-in save method
pdf.SaveAs("output.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comコンフィギュレーション ロケーションの変更
pdforgeはコンバーターのプロパティを使用します; IronPDFはRenderingOptions:
// pdforge: Properties on converter
converter.PageSize = PageSize.A4;
converter.Orientation = PageOrientation.Landscape;
// IronPDF: Properties on RenderingOptions
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;// pdforge: Properties on converter
converter.PageSize = PageSize.A4;
converter.Orientation = PageOrientation.Landscape;
// IronPDF: Properties on RenderingOptions
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;IRON VB CONVERTER ERROR developers@ironsoftware.comヘッダー/フッターのプレースホルダーの構文
ヘッダーやフッターにページ番号を使用する場合は、プレースホルダーの構文が異なります:
//pdforgeplaceholders
"Page {page} of {totalPages}"
//IronPDFplaceholders
"Page {page} of {total-pages}" // Note: hyphen in total-pages//pdforgeplaceholders
"Page {page} of {totalPages}"
//IronPDFplaceholders
"Page {page} of {total-pages}" // Note: hyphen in total-pagesIRON VB CONVERTER ERROR developers@ironsoftware.com移行後の新機能
IronPDFに移行した後は、pdfでは提供できない機能を得ることができます:
PDFマージ
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comテキスト抽出
var pdf = PdfDocument.FromFile("document.pdf");
string allText = pdf.ExtractAllText();var pdf = PdfDocument.FromFile("document.pdf");
string allText = pdf.ExtractAllText();IRON VB CONVERTER ERROR developers@ironsoftware.comウォーターマーク
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");IRON VB CONVERTER ERROR developers@ironsoftware.comパスワード保護
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";IRON VB CONVERTER ERROR developers@ironsoftware.com機能比較の概要
| フィーチャー | pdforge | IronPDF |
|---|---|---|
| HTMLからPDFへ | ✓ | ✓ |
| URLからPDFへ | ✓ | ✓ |
| ページ設定 | ✓ | ✓ |
| オフライン対応 | ✗ | ✓ |
| ローカル処理 | ✗ | ✓ |
| PDFのマージ | ✗ | ✓ |
| PDFの分割 | ✗ | ✓ |
| テキストの抽出 | ✗ | ✓ |
| 透かし | ✗ | ✓ |
| フォーム入力 | ✗ | ✓ |
| デジタル署名 | ✗ | ✓ |
| パスワード保護 | ✗ | ✓ |
| 料金制限なし | ✗ | ✓ |
| 1回限りのライセンス | ✗ | ✓ |
移行チェックリスト
移行前
- [コードベース内のすべてのpdforgeAPI 呼び出しをインベントリ化する。
- [現在使用している設定オプション(ページサイズ、向き)を文書化してください。)
- [
{totalPages}→{total-pages})。 - [ ] IronPDFライセンスキーの保存を計画する(環境変数を推奨)
- [ ] まずはIronPDFトライアルライセンスでテストしてください。
パッケージの変更
- [ ]
pdforgeNuGet パッケージを削除する。 - [ ]
PdfForgeNuGet パッケージを削除してください。 - [ ]
IronPdfNuGetパッケージをインストールします:dotnet add package IronPdfNuGetパッケージをインストールします。
コードの変更
- [ ] 名前空間のインポートをすべて更新する (
using PdfForge;→using IronPdf;) - [
using IronPdf.Rendering;for paper size and orientation enumsを追加してください。 - [ ]
HtmlToPdfConverterをChromePdfRendererに置き換えてください。 - [ ]
ConvertHtmlString()をRenderHtmlAsPdf()に置き換えてください。 - [ ]
ConvertUrl()をRenderUrlAsPdf()に置き換えてください。 - [ ]
File.WriteAllBytes()をpdf.SaveAs()に置き換えてください。 - [ ]
PageSizeプロパティをRenderingOptions.PaperSizeに移動します。 - [ ]
OrientationプロパティをRenderingOptions.PaperOrientationに移動します。 - [ ] 列挙名を更新する(
PageSize.A4→PdfPaperSize.A4) - [ ] 列挙名を更新 (
PageOrientation.Landscape→PdfPaperOrientation.Landscape) - [ヘッダー/フッターのプレースホルダー構文の更新
移行後
- [PDF 出力の品質が期待に沿うかどうかのテスト
- [オフライン動作の確認
- [設定からAPI認証情報を削除する
- [必要に応じて、新しい機能(マージ、透かし、セキュリティ)を追加してください。
結論
pdforgeからIronPDFに移行することで、PDFワークフローはクラウド依存のAPIサービスから、ローカルで処理される完全な機能を備えたPDFライブラリに変わります。 この移行により、継続的なサブスクリプションコストが不要になり、インターネットへの依存がなくなり、すべての文書処理をお客様のサーバーで行うことで、完全なデータプライバシーが実現します。
この移行における主な変更点は以下のとおりです: 1.メインクラス:HtmlToPdfConverter → ChromePdfRenderer 2.HTMLメソッド:ConvertHtmlString()→RenderHtmlAsPdf()。 3.URLメソッド:ConvertUrl()→RenderUrlAsPdf()。 4.戻り値の型:byte[] → PdfDocument 5.保存メソッド:File.WriteAllBytes() → pdf.SaveAs(). 6.ページサイズ:converter.PageSize = PageSize.A4 →renderer.RenderingOptions.PaperSize=PdfPaperSize.A4。です。 7.オリエンテーション:converter.Orientation = PageOrientation.Landscape →renderer.RenderingOptions.PaperOrientation=PdfPaperOrientation.Landscape。です。 8.新機能:PDFマージ、テキスト抽出、透かし、電子署名など
PdforgeとIronPDFのどちらを選ぶかは、特にカスタマイズの必要性、予算、セキュリティの考慮など、特定のプロジェクトの要件に大きく依存します。 IronPDFは、ローカルでのデプロイメントを管理できる開発者向けに、強固なセキュリティの利点を備えた、より包括的なツール群を提供します。 IronPdfはローカルで処理することで、クラウドベースのモデルに関連するプライバシーの懸念を回避し、アプリケーション開発者により費用対効果の高いスケーラブルなソリューションを提供します。
IronPDFドキュメント、チュートリアル、APIリファレンスをご覧いただき、IronPDFへの移行を加速させてください。






