移行ガイド C#でpdfからIronPDFに移行する方法 カーティス・チャウ 公開日:2026年1月25日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る なぜ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操作機能を追加しながら、クラウド依存を排除するローカル処理基盤を提供します。 始める前に 前提条件 .NET 環境: .NET Framework 4.6.2+ または .NET Core 3.1+ / .NET 5/6/7/8/9+ NuGetアクセス: NuGetパッケージをインストールする機能 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 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"; $vbLabelText $csharpLabel pdforgeの使用法を特定する # 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" . SHELL 完全な 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; $vbLabelText $csharpLabel コア クラス マッピング 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()</code> 透かしの追加 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); } } $vbLabelText $csharpLabel 翻訳後(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"); } } $vbLabelText $csharpLabel ここでの基本的な違いは、処理モデルと戻り値の型です。 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); } } $vbLabelText $csharpLabel 翻訳後(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"); } } $vbLabelText $csharpLabel pdforgeは、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); } } $vbLabelText $csharpLabel 翻訳後(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"); } } $vbLabelText $csharpLabel この例は、構成パターンの違いを示しています。 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 needed $vbLabelText $csharpLabel コンバータ クラスの変更 // pdforge: HtmlToPdfConverter var converter = new HtmlToPdfConverter(); // IronPDF: ChromePdfRenderer var renderer = new ChromePdfRenderer(); // pdforge: HtmlToPdfConverter var converter = new HtmlToPdfConverter(); // IronPDF: ChromePdfRenderer var renderer = new ChromePdfRenderer(); $vbLabelText $csharpLabel メソッド名の変更 //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) $vbLabelText $csharpLabel 保存メソッドの変更 // 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"); $vbLabelText $csharpLabel コンフィギュレーション ロケーションの変更 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; $vbLabelText $csharpLabel ヘッダー/フッターのプレースホルダーの構文 ヘッダーやフッターにページ番号を使用する場合は、プレースホルダーの構文が異なります: //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-pages $vbLabelText $csharpLabel 移行後の新機能 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"); $vbLabelText $csharpLabel テキスト抽出 var pdf = PdfDocument.FromFile("document.pdf"); string allText = pdf.ExtractAllText(); var pdf = PdfDocument.FromFile("document.pdf"); string allText = pdf.ExtractAllText(); $vbLabelText $csharpLabel ウォーターマーク pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>"); pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>"); $vbLabelText $csharpLabel パスワード保護 pdf.SecuritySettings.UserPassword = "userpassword"; pdf.SecuritySettings.OwnerPassword = "ownerpassword"; pdf.SecuritySettings.UserPassword = "userpassword"; pdf.SecuritySettings.OwnerPassword = "ownerpassword"; $vbLabelText $csharpLabel 機能比較の概要 フィーチャー pdforge IronPDF HTMLからPDFへ ✓ ✓ URLからPDFへ ✓ ✓ ページ設定 ✓ ✓ オフライン対応 ✗ ✓ ローカル処理 ✗ ✓ PDFのマージ ✗ ✓ PDFの分割 ✗ ✓ テキストの抽出 ✗ ✓ 透かし ✗ ✓ フォーム入力 ✗ ✓ デジタル署名 ✗ ✓ パスワード保護 ✗ ✓ 料金制限なし ✗ ✓ 1回限りのライセンス ✗ ✓ 移行チェックリスト 移行前 コードベース内のすべてのpdforge API呼び出しをインベントリする 現在使用されている設定オプション(ページサイズ、向き)を文書化する 更新するヘッダー/フッターのプレースホルダーを特定します ( {totalPages} → {total-pages} ) -IronPDFライセンス キーの保存を計画する (環境変数を推奨) まずはIronPDFの試用ライセンスでテストしてください パッケージの変更 pdforge NuGetパッケージを削除する PdfForge NuGetパッケージを削除する IronPdf NuGet パッケージをインストールします: dotnet add package IronPdf コードの変更 すべての名前空間のインポートを更新します ( using PdfForge; → using IronPdf; ) 用紙サイズと方向の列挙型にusing IronPdf.Rendering;を追加します -HtmlToPdfConverter``ChromePdfRendererに置き換える ConvertHtmlString()をRenderHtmlAsPdf()に置き換えます ConvertUrl()をRenderUrlAsPdf()に置き換えます File.WriteAllBytes()をpdf.SaveAs()に置き換えます PageSizeプロパティをRenderingOptions.PaperSizeに移動します OrientationプロパティをRenderingOptions.PaperOrientationに移動します 列挙名を更新します (ページサイズ.A4→PdfPaperSize.A4) 列挙名を更新します (PageOrientation.Landscape→PdfPaperOrientation.Landscape) ヘッダー/フッターのプレースホルダー構文を更新 移行後 PDF出力の品質が期待に沿うかテスト オフライン操作が機能することを確認する 構成からAPI資格情報を削除する 必要に応じて新しい機能(結合、透かし、セキュリティ)を追加します カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 公開日 2026年2月1日 C#でZetPDFからIronPDFに移行する方法 この完全なC#ガイドでZetPDFからIronPDFへの移行をマスターしてください。座標ベースのライブラリから最新のHTML-to-PDFソリューションに切り替えます。HTML変換、PDFのマージ、PDFSharpの依存関係の削除のコード例が含まれています。 詳しく読む 公開日 2026年2月1日 C#でScryber.CoreからIronPDFに移行する方法 この完全なC#ガイドでScryber.CoreからIronPDFへの移行をマスターしてください。カスタムXML/HTMLパースから最新のChromiumレンダラーに切り替えます。HTML変換、URLレンダリング、独自のバインディングを置き換えるコード例を含みます。 詳しく読む 公開日 2026年2月1日 C#でXFINIUM.PDFからIronPdfへ移行する方法 この完全なC#ガイドでXFINIUM.PDFからIronPDFへの移行をマスターしてください。座標ベースの手動ポジショニングから宣言的なHTML/CSSレンダリングに切り替えます。グラフィックスプリミティブの置き換えと自動レイアウトのコード例を含みます。 詳しく読む C#でPdfPigからIronPDFに移行する方法C#でPdfiumViewerからIronPDFに...
公開日 2026年2月1日 C#でZetPDFからIronPDFに移行する方法 この完全なC#ガイドでZetPDFからIronPDFへの移行をマスターしてください。座標ベースのライブラリから最新のHTML-to-PDFソリューションに切り替えます。HTML変換、PDFのマージ、PDFSharpの依存関係の削除のコード例が含まれています。 詳しく読む
公開日 2026年2月1日 C#でScryber.CoreからIronPDFに移行する方法 この完全なC#ガイドでScryber.CoreからIronPDFへの移行をマスターしてください。カスタムXML/HTMLパースから最新のChromiumレンダラーに切り替えます。HTML変換、URLレンダリング、独自のバインディングを置き換えるコード例を含みます。 詳しく読む
公開日 2026年2月1日 C#でXFINIUM.PDFからIronPdfへ移行する方法 この完全なC#ガイドでXFINIUM.PDFからIronPDFへの移行をマスターしてください。座標ベースの手動ポジショニングから宣言的なHTML/CSSレンダリングに切り替えます。グラフィックスプリミティブの置き換えと自動レイアウトのコード例を含みます。 詳しく読む