移行ガイド C#でGdPicture.NET SDKからIronPDFに移行する方法 カーティス・チャウ 公開日:2026年1月25日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る GdPicture.NETSDKからIronPDFへの移行は、.NET開発者にPDF生成への集中した合理的なアプローチを提供します。 このガイドは、複雑なドキュメントイメージングSDKのパターンを、現代の.NET開発用に設計された最新のPDF固有のAPIに置き換える、包括的でステップバイステップの移行パスを提供します。 GdPicture.NETSDKからIronPDFへ移行する理由 GdPicture.NETのSDKの課題 GdPicture.NET SDK(現在はNutrientとしてリブランド)は、包括的なドキュメントイメージングSDKで、PDFに特化した開発にはいくつかの課題があります: PDF のみのプロジェクトには過剰:GdPicture.NET SDKは、OCR、バーコード認識、スキャン、画像処理を含む完全なドキュメント イメージング スイートです。 PDFの機能だけが必要な場合、決して使わない機能のためにお金を払うことになります。 2.複雑なライセンス:複数の製品層 (GdPicture.NET 14、GdPicture.API、Ultimate、Professional) があり、SKU の組み合わせがわかりにくく、年間サブスクリプション要件があります。 3.エンタープライズ価格:ライセンス料金は、PDF プラグインのみの場合は 2,999 ドルから始まり、Ultimate エディションの場合は 10,000 ドル以上になります。 開発者ごとのライセンスは、成長するチームにとって大きなオーバーヘッドとなります。 4.学習曲線が急: API は、最新の .NET パターンではなく、ドキュメント イメージングの概念に基づいて設計されています。 LicenseManager.RegisterKEY()、GdPictureStatus 列挙チェック、1-indexed ページなどのメソッドは、現代の C# 慣例と比べると古く感じます。 5.ステータス コード パターン:すべての操作は、チェックする必要があるGdPictureStatus列挙を返します。エラーが発生しても例外はスローされないため、エラー処理が冗長かつ反復的になります。 6.手動リソース管理:明示的なDispose()またはRelease()呼び出しが必要です。 SDKは、標準的な.NETの廃棄パターンにきれいに従っていません。 7.バージョンのロックイン:名前空間GdPicture14にはバージョン番号が含まれているため、メジャー バージョンをアップグレードすると、コードベース全体で名前空間の変更が必要になります。 8.ブランド変更による混乱:最近の"Nutrient"へのブランド変更により、gdpicture.com と nutrient.io の間でドキュメントが断片化され、サポートと学習が複雑になっています。 GdPicture.NETSDKとIronPDFの比較 アスペクト GdPicture.NET SDK IronPDF フォーカス 文書画像処理スイート(PDFはやりすぎ) PDF専用ライブラリ 価格 2,999~10,000ドル以上のエンタープライズ層 競争力があり、ビジネスと連動する APIスタイル ステータスコード、マニュアル管理 例外、IDisposable、モダン.NET 学習曲線 Steep(画像処理SDKのコンセプト) シンプルなもの(HTML/CSSに精通していること) HTMLレンダリング 基本的な内部エンジン 最新のChromiumとCSS3/JS ページインデックス 1-indexed 0-インデックス(標準.NET) スレッドの安全性 手動同期が必要 スレッドセーフ設計 名前空間 バージョン固有 (GdPicture14</code>)|安定 (IronPdf) 2025年、2026年まで.NET 10とC# 14の採用を計画しているチームにとって、IronPDFは最新の.NETパターンと規約に沿った将来を見据えた基盤を提供します。 マイグレーションの複雑さの評価 機能別の見積もり作業 フィーチャー 移行の複雑さ ノート HTMLからPDFへ 低レベル ダイレクトメソッドマッピング URLからPDFへ 低レベル ダイレクトメソッドマッピング PDFのマージ 低レベル 類似のAPIパターン PDFの分割 低レベル 類似のAPIパターン 透かし 低レベル 異なるアプローチ(HTMLベース) テキスト抽出 低レベル プロパティ対メソッド パスワード保護 中規模 異なるパラメータ構造 フォームフィールド 中規模 APIの違い デジタル署名 中・高 さまざまな証明書の取り扱い OCR 高い IronOCRは別の製品です。 バーコード認識 該当なし IronPDFではサポートされていません。 移行の決定マトリックス お客様の状況 推奨 PDFのみの操作 移行-大幅な簡素化とコスト削減 OCRの多用 IronOCRをコンパニオンプロダクトとしてご検討ください。 バーコード/スキャンのニーズ これらの機能にはGdPicture.NET SDKを、PDFにはIronPDFを使用してください。 フルドキュメントイメージング すべての機能を実際に使用するかどうかを評価する 始める前に 前提条件 .NETバージョン: IronPDFは.NET Framework 4.6.2以降および.NET Core 2.0以降 / .NET 5/6/7/8/9以降をサポートしています。 2.ライセンスキー: ironpdf.comからIronPDFライセンスキーを取得します。 3.バックアップ:移行作業用のブランチを作成する すべてのGdPicture.NET SDKの使用法を特定する # Find allGdPicture.NET SDKreferences in your codebase grep -r "GdPicture14\|GdPicturePDF\|GdPictureDocumentConverter\|GdPictureStatus\|LicenseManager\.RegisterKEY" --include="*.cs" . # Find all GdPicture package references grep -r "GdPicture" --include="*.csproj" . # Find allGdPicture.NET SDKreferences in your codebase grep -r "GdPicture14\|GdPicturePDF\|GdPictureDocumentConverter\|GdPictureStatus\|LicenseManager\.RegisterKEY" --include="*.cs" . # Find all GdPicture package references grep -r "GdPicture" --include="*.csproj" . SHELL NuGetパッケージの変更 # RemoveGdPicture.NET SDKpackages dotnet remove package GdPicture.NET.14 dotnet remove package GdPicture.NET.14.API dotnet remove package GdPicture dotnet remove package GdPicture.API # Install IronPDF dotnet add package IronPdf # RemoveGdPicture.NET SDKpackages dotnet remove package GdPicture.NET.14 dotnet remove package GdPicture.NET.14.API dotnet remove package GdPicture dotnet remove package GdPicture.API # Install IronPDF dotnet add package IronPdf SHELL クイック スタート マイグレーション ステップ 1: ライセンス構成の更新 以前(GdPicture.NET SDK):。 // Must be called before anyGdPicture.NET SDKoperations LicenseManager.RegisterKEY("YOUR-GDPICTURE-LICENSE-KEY"); // Must be called before anyGdPicture.NET SDKoperations LicenseManager.RegisterKEY("YOUR-GDPICTURE-LICENSE-KEY"); $vbLabelText $csharpLabel 翻訳後(IronPDF):。 // Set once at application startup IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY"; // Or in appsettings.json: // { "IronPdf.License.LicenseKey": "YOUR-LICENSE-KEY" } // Set once at application startup IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY"; // Or in appsettings.json: // { "IronPdf.License.LicenseKey": "YOUR-LICENSE-KEY" } $vbLabelText $csharpLabel ステップ 2: 名前空間インポートを更新する // Before (GdPicture.NET SDK) using GdPicture14; // After (IronPDF) using IronPdf; using IronPdf.Editing; // Before (GdPicture.NET SDK) using GdPicture14; // After (IronPDF) using IronPdf; using IronPdf.Editing; $vbLabelText $csharpLabel ステップ 3: 基本的な変換パターン GdPicture.NET SDKの移行における最も大きな変更点は、冗長なステータスチェックのパターンをなくしたことです: 以前(GdPicture.NET SDK):。 using GdPicture14; LicenseManager.RegisterKEY("LICENSE-KEY"); using (GdPictureDocumentConverter converter = new GdPictureDocumentConverter()) { GdPictureStatus status = converter.LoadFromHTMLString("<h1>Hello World</h1>"); if (status == GdPictureStatus.OK) { status = converter.SaveAsPDF("output.pdf"); if (status != GdPictureStatus.OK) { Console.WriteLine($"Error: {status}"); } } else { Console.WriteLine($"Load error: {status}"); } } using GdPicture14; LicenseManager.RegisterKEY("LICENSE-KEY"); using (GdPictureDocumentConverter converter = new GdPictureDocumentConverter()) { GdPictureStatus status = converter.LoadFromHTMLString("<h1>Hello World</h1>"); if (status == GdPictureStatus.OK) { status = converter.SaveAsPDF("output.pdf"); if (status != GdPictureStatus.OK) { Console.WriteLine($"Error: {status}"); } } else { Console.WriteLine($"Load error: {status}"); } } $vbLabelText $csharpLabel 翻訳後(IronPDF):。 using IronPdf; IronPdf.License.LicenseKey = "LICENSE-KEY"; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>"); pdf.SaveAs("output.pdf"); using IronPdf; IronPdf.License.LicenseKey = "LICENSE-KEY"; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>"); pdf.SaveAs("output.pdf"); $vbLabelText $csharpLabel 主な違い: ステータスチェックなし-エラー時の例外処理 レンダラーの明示的な廃棄は不要 最新の流暢なAPI Chromiumベースのレンダリングにより、HTML/CSSのサポートが向上しました。 完全な API リファレンス 名前空間マッピング GdPicture.NET SDK IronPDF GdPicture14|IronPdf`(IronPDF GdPicture14.PDF IronPdf(IronPDF GdPicture14.Imaging 該当なし(不要) コア クラス マッピング GdPicture.NET SDK IronPDF 翻訳内容 GdPicturePDF PdfDocument 主なPDF文書クラス GdPictureDocumentConverter ChromePdfRenderer HTML/URLからPDFへの変換 LicenseManager(ライセンスマネージャ IronPdf.ライセンス ライセンス管理 GdPictureStatus 例外 エラー処理 ドキュメント読み込み方法 GdPicture.NET SDK IronPDF ノート pdf.LoadFromFile(path, loadInMemory). PdfDocument.FromFile(パス)。 ファイルから読み込む pdf.LoadFromFile(path, password, loadInMemory). PdfDocument.FromFile(path, password). パスワードで保護 converter.LoadFromHTMLString(html). renderer.RenderHtmlAsPdf(html). HTML文字列 converter.LoadFromURL(url). renderer.RenderUrlAsPdf(url)のようにします。 URL ページ操作 GdPicture.NET SDK IronPDF ノート pdf.GetPageCount() pdf.PageCount ページ数を取得 pdf.SelectPage(pageNo) pdf.Pages[index] ページを選択(1インデックス vs 0インデックス) pdf.GetPageWidth() pdf.Pages[i].Width ページ幅 pdf.GetPageHeight() pdf.Pages[i].Height ページの高さ マージと分割の操作 GdPicture.NET SDK IronPDF ノート pdf1.MergePages(pdf2). PdfDocument.Merge(pdf1, pdf2). PDFをマージ。 pdf.ExtractPages(start, end). pdf.CopyPages(indices)を使用してください。 ページの抜粋 ウォーターマークの操作 GdPicture.NET SDK IronPDF ノート pdf.DrawText(..)ループ pdf.ApplyWatermark(html). テキスト透かし. pdf.SetTextColor(color)のようにします。 CSSスタイリング テキストの色を設定 pdf.SetTextSize(size) CSSスタイリング テキストサイズの設定 コード移行の例 例1: HTMLからPDFへの変換 以前(GdPicture.NET SDK):。 // NuGet: Install-Package GdPicture.NET using GdPicture14; using System; class Program { static void Main() { using (GdPictureDocumentConverter converter = new GdPictureDocumentConverter()) { string htmlContent = "<html><body><h1>Hello World</h1></body></html>"; GdPictureStatus status = converter.LoadFromHTMLString(htmlContent); if (status == GdPictureStatus.OK) { converter.SaveAsPDF("output.pdf"); } } } } // NuGet: Install-Package GdPicture.NET using GdPicture14; using System; class Program { static void Main() { using (GdPictureDocumentConverter converter = new GdPictureDocumentConverter()) { string htmlContent = "<html><body><h1>Hello World</h1></body></html>"; GdPictureStatus status = converter.LoadFromHTMLString(htmlContent); if (status == GdPictureStatus.OK) { converter.SaveAsPDF("output.pdf"); } } } } $vbLabelText $csharpLabel 翻訳後(IronPDF):。 // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); string htmlContent = "<html><body><h1>Hello World</h1></body></html>"; var pdf = renderer.RenderHtmlAsPdf(htmlContent); pdf.SaveAs("output.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); string htmlContent = "<html><body><h1>Hello World</h1></body></html>"; var pdf = renderer.RenderHtmlAsPdf(htmlContent); pdf.SaveAs("output.pdf"); } } $vbLabelText $csharpLabel IronPdfのChromePdfRendererは正確なHTML/CSSレンダリングのために最新のChromiumエンジンを使用し、ステータスコードのチェックを不要にしています。 HTMLレンダリングのオプションについては、HTML to PDF documentationを参照してください。 例2: 複数のPDFをマージする 以前(GdPicture.NET SDK):。 // NuGet: Install-Package GdPicture.NET using GdPicture14; using System; class Program { static void Main() { using (GdPicturePDF pdf1 = new GdPicturePDF()) using (GdPicturePDF pdf2 = new GdPicturePDF()) { pdf1.LoadFromFile("document1.pdf", false); pdf2.LoadFromFile("document2.pdf", false); pdf1.MergePages(pdf2); pdf1.SaveToFile("merged.pdf"); } } } // NuGet: Install-Package GdPicture.NET using GdPicture14; using System; class Program { static void Main() { using (GdPicturePDF pdf1 = new GdPicturePDF()) using (GdPicturePDF pdf2 = new GdPicturePDF()) { pdf1.LoadFromFile("document1.pdf", false); pdf2.LoadFromFile("document2.pdf", false); pdf1.MergePages(pdf2); pdf1.SaveToFile("merged.pdf"); } } } $vbLabelText $csharpLabel 翻訳後(IronPDF):。 // NuGet: Install-Package IronPdf using IronPdf; using System.Collections.Generic; class Program { static void Main() { var pdf1 = PdfDocument.FromFile("document1.pdf"); var pdf2 = PdfDocument.FromFile("document2.pdf"); var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 }); merged.SaveAs("merged.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; using System.Collections.Generic; class Program { static void Main() { var pdf1 = PdfDocument.FromFile("document1.pdf"); var pdf2 = PdfDocument.FromFile("document2.pdf"); var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 }); merged.SaveAs("merged.pdf"); } } $vbLabelText $csharpLabel IronPDFの静的なMergeメソッドはドキュメントのリストを受け付けます。 PDFのマージと分割については、こちらをご覧ください。 例3: すべてのページに透かしを追加する 以前(GdPicture.NET SDK):。 // NuGet: Install-Package GdPicture.NET using GdPicture14; using System; using System.Drawing; class Program { static void Main() { using (GdPicturePDF pdf = new GdPicturePDF()) { pdf.LoadFromFile("input.pdf", false); for (int i = 1; i <= pdf.GetPageCount(); i++) { pdf.SelectPage(i); pdf.SetTextColor(Color.Red); pdf.SetTextSize(48); pdf.DrawText("CONFIDENTIAL", 200, 400); } pdf.SaveToFile("watermarked.pdf"); } } } // NuGet: Install-Package GdPicture.NET using GdPicture14; using System; using System.Drawing; class Program { static void Main() { using (GdPicturePDF pdf = new GdPicturePDF()) { pdf.LoadFromFile("input.pdf", false); for (int i = 1; i <= pdf.GetPageCount(); i++) { pdf.SelectPage(i); pdf.SetTextColor(Color.Red); pdf.SetTextSize(48); pdf.DrawText("CONFIDENTIAL", 200, 400); } pdf.SaveToFile("watermarked.pdf"); } } } $vbLabelText $csharpLabel 翻訳後(IronPDF):。 // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Editing; class Program { static void Main() { var pdf = PdfDocument.FromFile("input.pdf"); pdf.ApplyWatermark("<h1 style='color:red;'>CONFIDENTIAL</h1>", 50, VerticalAlignment.Middle, HorizontalAlignment.Center); pdf.SaveAs("watermarked.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Editing; class Program { static void Main() { var pdf = PdfDocument.FromFile("input.pdf"); pdf.ApplyWatermark("<h1 style='color:red;'>CONFIDENTIAL</h1>", 50, VerticalAlignment.Middle, HorizontalAlignment.Center); pdf.SaveAs("watermarked.pdf"); } } $vbLabelText $csharpLabel GdPicture.NET SDKは、座標ベースのテキスト描画からHTMLベースの電子透かしへの移行により、コードを大幅に簡素化します。 IronPDFのApplyWatermarkメソッドはHTML/CSSスタイリングを使用し、手作業によるページの反復や座標計算を不要にします。 その他のオプションについては、watermarking documentationの全文をご覧ください。 例4: パスワード保護とセキュリティ 以前(GdPicture.NET SDK):。 using GdPicture14; class Program { static void Main() { LicenseManager.RegisterKEY("LICENSE-KEY"); using (GdPicturePDF pdf = new GdPicturePDF()) { GdPictureStatus status = pdf.LoadFromFile("document.pdf", false); if (status != GdPictureStatus.OK) return; // Save with encryption - many boolean parameters status = pdf.SaveToFile( "protected.pdf", PdfEncryption.PdfEncryption256BitAES, "user123", // User password "owner456", // Owner password true, // Can print false, // Cannot copy false, // Cannot modify false, // Cannot add notes true, // Can fill forms false, // Cannot extract false, // Cannot assemble true // Can print high quality ); } } } using GdPicture14; class Program { static void Main() { LicenseManager.RegisterKEY("LICENSE-KEY"); using (GdPicturePDF pdf = new GdPicturePDF()) { GdPictureStatus status = pdf.LoadFromFile("document.pdf", false); if (status != GdPictureStatus.OK) return; // Save with encryption - many boolean parameters status = pdf.SaveToFile( "protected.pdf", PdfEncryption.PdfEncryption256BitAES, "user123", // User password "owner456", // Owner password true, // Can print false, // Cannot copy false, // Cannot modify false, // Cannot add notes true, // Can fill forms false, // Cannot extract false, // Cannot assemble true // Can print high quality ); } } } $vbLabelText $csharpLabel 翻訳後(IronPDF):。 using IronPdf; class Program { static void Main() { var pdf = PdfDocument.FromFile("document.pdf"); // Configure security settings with clear property names pdf.SecuritySettings.OwnerPassword = "owner456"; pdf.SecuritySettings.UserPassword = "user123"; // Set permissions pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights; pdf.SecuritySettings.AllowUserCopyPasteContent = false; pdf.SecuritySettings.AllowUserEdits = PdfEditSecurity.NoEdit; pdf.SecuritySettings.AllowUserAnnotations = false; pdf.SecuritySettings.AllowUserFormData = true; pdf.SaveAs("protected.pdf"); } } using IronPdf; class Program { static void Main() { var pdf = PdfDocument.FromFile("document.pdf"); // Configure security settings with clear property names pdf.SecuritySettings.OwnerPassword = "owner456"; pdf.SecuritySettings.UserPassword = "user123"; // Set permissions pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights; pdf.SecuritySettings.AllowUserCopyPasteContent = false; pdf.SecuritySettings.AllowUserEdits = PdfEditSecurity.NoEdit; pdf.SecuritySettings.AllowUserAnnotations = false; pdf.SecuritySettings.AllowUserFormData = true; pdf.SaveAs("protected.pdf"); } } $vbLabelText $csharpLabel IronPdfのSecuritySettingsプロパティは、ブールパラメータの代わりに、名前付きの自己文書化されたプロパティを提供します。 重要な移行に関する注意事項 ページインデックス変換 このGdPicture.NET SDKの移行における最も重要な変更点の1つは、ページインデックスの違いです: // GdPicture.NET SDK:1-indexedpages for (int i = 1; i <= pdf.GetPageCount(); i++) { pdf.SelectPage(i); // process page } // IronPDF: 0-indexed pages (standard .NET) for (int i = 0; i < pdf.PageCount; i++) { var page = pdf.Pages[i]; // process page } // GdPicture.NET SDK:1-indexedpages for (int i = 1; i <= pdf.GetPageCount(); i++) { pdf.SelectPage(i); // process page } // IronPDF: 0-indexed pages (standard .NET) for (int i = 0; i < pdf.PageCount; i++) { var page = pdf.Pages[i]; // process page } $vbLabelText $csharpLabel ステータス コードから例外へ 冗長なステータスチェックを標準的な try-catch に置き換えてください: // GdPicture.NET SDK GdPictureStatus status = converter.LoadFromHTMLString(html); if (status != GdPictureStatus.OK) { Console.WriteLine($"Error: {status}"); return; } // IronPDF try { var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } // GdPicture.NET SDK GdPictureStatus status = converter.LoadFromHTMLString(html); if (status != GdPictureStatus.OK) { Console.WriteLine($"Error: {status}"); return; } // IronPDF try { var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } $vbLabelText $csharpLabel ユニット変換 GdPicture.NET SDKは、余白にインチを使用しています; IronPDFはミリメートルを使用しています: // GdPicture.NET SDK: 0.5 inches margin converter.HtmlSetMargins(0.5f, 0.5f, 0.5f, 0.5f); // IronPDF: 0.5 inches = 12.7 mm renderer.RenderingOptions.MarginTop = 12.7; renderer.RenderingOptions.MarginBottom = 12.7; renderer.RenderingOptions.MarginLeft = 12.7; renderer.RenderingOptions.MarginRight = 12.7; // GdPicture.NET SDK: 0.5 inches margin converter.HtmlSetMargins(0.5f, 0.5f, 0.5f, 0.5f); // IronPDF: 0.5 inches = 12.7 mm renderer.RenderingOptions.MarginTop = 12.7; renderer.RenderingOptions.MarginBottom = 12.7; renderer.RenderingOptions.MarginLeft = 12.7; renderer.RenderingOptions.MarginRight = 12.7; $vbLabelText $csharpLabel 変換式ミリメートル=インチ×25.4 スレッドの安全性 GdPicture.NET SDKは、同時処理に手動同期を必要とします。 IronPDFのChromePdfRendererは設計上スレッドセーフで、マルチスレッドのPDF生成を簡素化します。 パフォーマンスの考慮事項 ChromePdfRendererを再利用してください 最適なパフォーマンスを得るために、レンダラーのインスタンスを再利用してください: // GOOD - Reuse renderer (thread-safe) public class PdfService { private static readonly ChromePdfRenderer _renderer = new ChromePdfRenderer(); public byte[] Generate(string html) => _renderer.RenderHtmlAsPdf(html).BinaryData; } // BAD - Creates new instance each time public byte[] GenerateBad(string html) { var renderer = new ChromePdfRenderer(); // Wasteful return renderer.RenderHtmlAsPdf(html).BinaryData; } // GOOD - Reuse renderer (thread-safe) public class PdfService { private static readonly ChromePdfRenderer _renderer = new ChromePdfRenderer(); public byte[] Generate(string html) => _renderer.RenderHtmlAsPdf(html).BinaryData; } // BAD - Creates new instance each time public byte[] GenerateBad(string html) { var renderer = new ChromePdfRenderer(); // Wasteful return renderer.RenderHtmlAsPdf(html).BinaryData; } $vbLabelText $csharpLabel 適切なリソースの処分 // Use using statements for automatic cleanup using (var pdf = PdfDocument.FromFile("large.pdf")) { string text = pdf.ExtractAllText(); } // pdf is disposed automatically // Use using statements for automatic cleanup using (var pdf = PdfDocument.FromFile("large.pdf")) { string text = pdf.ExtractAllText(); } // pdf is disposed automatically $vbLabelText $csharpLabel 移行チェックリスト 移行前 コードベース内のすべてのGdPicture.NET SDKの使用状況をインベントリします 実際に使用されている機能を特定する(PDF vsOCRvs バーコード) OCR/バーコード機能が必要かどうかを判断する(IronOCR/IronBarcodeを検討) 現在のライセンスを確認し、IronPDF の価格と比較します IronPDFライセンスキーを取得する バージョン管理に移行ブランチを作成する コードの移行 -GdPicture.NET SDKNuGet パッケージを削除します: dotnet remove package GdPicture.NET IronPdf NuGet パッケージをインストールします: dotnet add package IronPdf 名前空間のインポートを更新 (GdPicture14→IronPdf`(IronPDF) LicenseManager.RegisterKEY()をIronPdf.License.LicenseKeyに置き換えます ステータスコードチェックをtry-catchブロックに変換する ページのインデックスを更新(1 からインデックス → 0 からインデックス) -GdPicturePDF``PdfDocumentに置き換えます -GdPictureDocumentConverter``ChromePdfRendererに置き換えます 座標ベースのテキストをHTMLスタンプに変換する 単位変換を更新(インチ → ミリメートル) テスティング すべてのPDF生成パスをユニットテストする HTMLレンダリング品質が一致または超過していることを確認する すべてのセキュリティ/暗号化シナリオをテストする フォーム入力機能を確認する マージ/分割操作をテストする 透かしの外観を検証する パフォーマンスベンチマークのクリティカルパス 移行後 -GdPicture.NET SDKライセンスファイル/キーを削除します ドキュメントの更新 -IronPDFAPIパターンについてチームをトレーニングする 問題がないか生産状況を監視 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター 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#でGemBox PDFからIronPDFに移行する方法C#でFastReportから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レンダリングに切り替えます。グラフィックスプリミティブの置き換えと自動レイアウトのコード例を含みます。 詳しく読む