移行ガイド C#でNutrient.ioからIronPDFに移行する方法 カーティス・チャウ 公開日:2026年1月25日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る Nutrient.io(旧PSPDFKit)からIronPDFへの移行は、非同期ファーストのパターンを持つ複雑なドキュメントインテリジェンスプラットフォームから、簡単な同期APIを持つPDFライブラリへ移行することで、.NET PDFワークフローを簡素化します。このガイドでは、すべての重要なPDF機能を維持しながらプラットフォームのオーバーヘッドを排除する、包括的でステップバイステップの移行パスを提供します。 Nutrient.ioからIronPDFに移行する理由 プラットフォームの複雑性の問題 Nutrient.io(旧PSPDFKit)は、PDF SDKから包括的な "ドキュメントインテリジェンスプラットフォーム "へと進化しました。この変革は、機能の幅を広げる一方で、単に信頼性の高いPDF操作が必要なチームにとっては大きな課題をもたらします: 1.プラットフォームの過剰エンジニアリング:かつては PDF SDK だったものが、今では AI 機能とドキュメント ワークフロー機能を備えた完全なドキュメント インテリジェンス プラットフォームになっていますが、単純な PDF タスクには不要な場合があります。 2.エンタープライズ価格設定: Nutrient.io は、価格設定が不透明で営業担当者への問い合わせが必要な大規模組織向けに位置付けられています。 そのため、小規模から中規模のチームにとっては障壁となり、予算計画も難しくなります。 3.ブランド変更に伴う混乱: PSPDFKit から Nutrient への移行により、両方の名称を参照するドキュメントに問題が発生しています。パッケージ名には引き続き PSPDFKit が使用される可能性があり、移行中の移行パスは依然として不明確です。 4.非同期優先の複雑さ: Nutrient.io のすべてには async/await パターンが必要です。 単純な操作であっても、初期化にはPdfProcessor.CreateAsync()が必要であり、基本的なタスクには非同期メソッドが必要で、同期ワークフローにはオーバーヘッドが追加されます。 5.依存関係が重い:完全なプラットフォームでは、パッケージのフットプリントが大きくなり、初期化に時間がかかり、構成も追加されるため、より多くのリソースが必要になります。 Nutrient.ioとIronPDFの比較 アスペクト Nutrient.io (PSPDFKit) IronPDF フォーカス ドキュメントインテリジェンスプラットフォーム PDFライブラリ 価格 エンタープライズ(営業担当) 透明性のある出版物 アーキテクチャ 複雑なプラットフォーム シンプルなライブラリ APIスタイル 非同期ファースト 非同期オプション付き同期 依存関係 重い 軽量 構成 複雑な設定オブジェクト わかりやすいプロパティ 学習曲線 Steep(プラットフォーム) ジェントル(ライブラリ) 対象ユーザー エンタープライズ すべてのチームサイズ 2025年、2026年まで.NET 10とC# 14の導入を計画しているチームにとって、IronPDFは完全なドキュメントインテリジェンスプラットフォームのオーバーヘッドなしにきれいに統合する、よりシンプルな基盤を提供します。 始める前に 前提条件 .NET 環境: .NET Framework 4.6.2+ または .NET Core 3.1+ / .NET 5/6/7/8/9+ NuGetアクセス: NuGetパッケージをインストールする機能 IronPDFライセンス: ironpdf.comからライセンスキーを取得します。 NuGetパッケージの変更 # Remove Nutrient/PSPDFKit packages dotnet remove package PSPDFKit.NET dotnet remove package PSPDFKit.PDF dotnet remove package Nutrient dotnet remove package Nutrient.PDF # Install IronPDF dotnet add package IronPdf # Remove Nutrient/PSPDFKit packages dotnet remove package PSPDFKit.NET dotnet remove package PSPDFKit.PDF dotnet remove package Nutrient dotnet remove package Nutrient.PDF # 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 Nutrient.ioの使用方法を確認する # Find all Nutrient/PSPDFKit references grep -r "PSPDFKit\|Nutrient\|PdfProcessor\|PdfConfiguration" --include="*.cs" . # Find all Nutrient/PSPDFKit references grep -r "PSPDFKit\|Nutrient\|PdfProcessor\|PdfConfiguration" --include="*.cs" . SHELL 完全な API リファレンス 初期化マッピング Nutrient.io (PSPDFKit) IronPDF ノート PdfProcessor.CreateAsync()を待ちます。 new ChromePdfRenderer(). 非同期は不要 プロセッサ.Dispose() (自動または手動) よりシンプルなライフサイクル new PdfConfiguration { ... } renderer.RenderingOptions。 プロパティベース ドキュメント読み込みマッピング Nutrient.io (PSPDFKit) IronPDF ノート awaitプロセッサ.OpenAsync(path)。 PdfDocument.FromFile(パス)。 デフォルトで同期 Document.LoadFromStream(stream)(ドキュメント.ロードフロムストリーム)。 `PdfDocument.FromStream(stream)PdfDocument.FromStream(stream) ストリームサポート Document.LoadFromBytes(bytes)を実行します。 new PdfDocument(bytes). バイト配列 PDF生成マッピング Nutrient.io (PSPDFKit) IronPDF ノート await processor.GeneratePdfFromHtmlStringAsync(html). renderer.RenderHtmlAsPdf(html). 同期方法 await processor.GeneratePdfFromUrlAsync(url). renderer.RenderUrlAsPdf(url)のようにします。 直接URL await processor.GeneratePdfFromFileAsync(path). renderer.RenderHtmlFileAsPdf(path)のようにします。 HTMLファイル ドキュメント操作マッピング Nutrient.io (PSPDFKit) IronPDF ノート awaitプロセッサ.MergeAsync(docs)。 PdfDocument.Merge(pdfs). 同期 document.PageCount|pdf.PageCount` 同じパターン await document.SaveAsync(path). pdf.SaveAs(path)のようにします。 同期 document.ToBytes() pdf.BinaryData バイト配列 注釈と透かしのマッピング Nutrient.io (PSPDFKit) IronPDF ノート await document.AddAnnotationAsync(index, annotation). pdf.ApplyWatermark(html). HTMLベース new TextAnnotation("text"). 透かしのHTML 柔軟性 annotation.Opacity = 0.5</code>|CSS <code>不透明度:0.5 CSSスタイリング annotation.FontSize = 48. CSS フォントサイズ: 48px CSSスタイリング コード移行の例 例1: HTMLからPDFへの変換 翻訳前 (Nutrient.io): // NuGet: Install-Package PSPDFKit.Dotnet using PSPDFKit.Pdf; using System.Threading.Tasks; class Program { static async Task Main() { var htmlContent = "<html><body><h1>Hello World</h1></body></html>"; using var processor = await PdfProcessor.CreateAsync(); var document = await processor.GeneratePdfFromHtmlStringAsync(htmlContent); await document.SaveAsync("output.pdf"); } } // NuGet: Install-Package PSPDFKit.Dotnet using PSPDFKit.Pdf; using System.Threading.Tasks; class Program { static async Task Main() { var htmlContent = "<html><body><h1>Hello World</h1></body></html>"; using var processor = await PdfProcessor.CreateAsync(); var document = await processor.GeneratePdfFromHtmlStringAsync(htmlContent); await document.SaveAsync("output.pdf"); } } $vbLabelText $csharpLabel 翻訳後(IronPDF):。 // NuGet: Install-Package IronPdf using IronPdf; class Program { static void Main() { var htmlContent = "<html><body><h1>Hello World</h1></body></html>"; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(htmlContent); pdf.SaveAs("output.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; class Program { static void Main() { var htmlContent = "<html><body><h1>Hello World</h1></body></html>"; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(htmlContent); pdf.SaveAs("output.pdf"); } } $vbLabelText $csharpLabel awaitPdfProcessor.CreateAsync()でPdfProcessorを作成し、await processor.GeneratePdfFromHtmlStringAsync()を呼び出し、最後にawait document.SaveAsync()を呼び出します。 メソッド全体はasync Taskとマークされなければならず、プロセッサは適切な処理のためにusingステートメントを必要とします。 IronPDFはこれを劇的に簡素化します。 ChromePdfRendererを作成し、RenderHtmlAsPdf()を呼び出し、SaveAs()で保存します。 async/awaitは不要で、プロセッサのライフサイクルを管理する必要もなく、単純な操作に``ブロックを使用する必要もありません。 このパターンは、PDFワークフローに非同期パターンを必要としない開発者にとっては、より直感的です。 その他のレンダリングオプションについては、HTML to PDF documentationを参照してください。 例2: 複数のPDFをマージする 翻訳前 (Nutrient.io): // NuGet: Install-Package PSPDFKit.Dotnet using PSPDFKit.Pdf; using System.Threading.Tasks; using System.Collections.Generic; class Program { static async Task Main() { using var processor = await PdfProcessor.CreateAsync(); var document1 = await processor.OpenAsync("document1.pdf"); var document2 = await processor.OpenAsync("document2.pdf"); var mergedDocument = await processor.MergeAsync(new List<PdfDocument> { document1, document2 }); await mergedDocument.SaveAsync("merged.pdf"); } } // NuGet: Install-Package PSPDFKit.Dotnet using PSPDFKit.Pdf; using System.Threading.Tasks; using System.Collections.Generic; class Program { static async Task Main() { using var processor = await PdfProcessor.CreateAsync(); var document1 = await processor.OpenAsync("document1.pdf"); var document2 = await processor.OpenAsync("document2.pdf"); var mergedDocument = await processor.MergeAsync(new List<PdfDocument> { document1, document2 }); await mergedDocument.SaveAsync("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(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(pdf1, pdf2); merged.SaveAs("merged.pdf"); } } $vbLabelText $csharpLabel Nutrient.ioのマージ操作では、await PdfProcessor.CreateAsync()でプロセッサを作成し、別々のawait processor.OpenAsync()呼び出しで各ドキュメントを開き、List<PdfDocument>を作成し、そのリストでawait processor.MergeAsync()を呼び出し、最後にawait mergedDocument.SaveAsync()を呼び出す必要があります。 これは、基本的なマージのための5つの非同期操作です。 IronPDFはこれを4つの同期行に減らします: PdfDocument.FromFile()で各PDFをロードし、静的なPdfDocument.Merge()メソッドでマージし、保存します。 プロセッサのライフサイクルがなく、リスト作成が不要で(ドキュメントを直接渡すことができます)、非同期のオーバーヘッドがありません。 PDFのマージと分割については、こちらをご覧ください。 例3: 透かしを追加する 翻訳前 (Nutrient.io): // NuGet: Install-Package PSPDFKit.Dotnet using PSPDFKit.Pdf; using PSPDFKit.Pdf.Annotation; using System.Threading.Tasks; class Program { static async Task Main() { using var processor = await PdfProcessor.CreateAsync(); var document = await processor.OpenAsync("document.pdf"); for (int i = 0; i < document.PageCount; i++) { var watermark = new TextAnnotation("CONFIDENTIAL") { Opacity = 0.5, FontSize = 48 }; await document.AddAnnotationAsync(i, watermark); } await document.SaveAsync("watermarked.pdf"); } } // NuGet: Install-Package PSPDFKit.Dotnet using PSPDFKit.Pdf; using PSPDFKit.Pdf.Annotation; using System.Threading.Tasks; class Program { static async Task Main() { using var processor = await PdfProcessor.CreateAsync(); var document = await processor.OpenAsync("document.pdf"); for (int i = 0; i < document.PageCount; i++) { var watermark = new TextAnnotation("CONFIDENTIAL") { Opacity = 0.5, FontSize = 48 }; await document.AddAnnotationAsync(i, watermark); } await document.SaveAsync("watermarked.pdf"); } } $vbLabelText $csharpLabel 翻訳後(IronPDF):。 // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Editing; class Program { static void Main() { var pdf = PdfDocument.FromFile("document.pdf"); pdf.ApplyWatermark("<h1 style='color:gray;opacity:0.5;'>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("document.pdf"); pdf.ApplyWatermark("<h1 style='color:gray;opacity:0.5;'>CONFIDENTIAL</h1>", 50, VerticalAlignment.Middle, HorizontalAlignment.Center); pdf.SaveAs("watermarked.pdf"); } } $vbLabelText $csharpLabel この例では、基本的なアーキテクチャの違いが浮き彫りになっています。 Nutrient.io は注釈ベースのアプローチを使用します。OpacityやFontSizeなどのプロパティを持つTextAnnotationオブジェクトを作成し、ページごとにawait document.AddAnnotationAsync(i, watermark)呼び出してすべてのページOpacityループします。 そのためには、注釈システムを理解し、自らループを管理する必要があります。 IronPDF はHTML ベースのアプローチを使用します。ApplyWatermark ApplyWatermark()メソッドは CSS スタイルが適用された HTML 文字列を受け入れます。 透かしは、1回の呼び出しですべてのページに自動的に適用されます。 アノテーション固有のオブジェクト・プロパティではなく、おなじみのCSSプロパティ(color, opacity、font-size)によって外観を制御します。 グラデーション、画像、複雑なレイアウトなど、あらゆるHTML/CSSを使用できます。 高度な例については、透かしのドキュメントを参照してください。 重要な移行に関する注意事項 非同期から同期への変換 最も大きな変更点は、不要なasync/awaitパターンを削除したことです: // Nutrient.io: Async-first using var processor = await PdfProcessor.CreateAsync(); var document = await processor.GeneratePdfFromHtmlStringAsync(html); await document.SaveAsync("output.pdf"); // IronPDF:デフォルトで同期(async available when needed) var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); // Nutrient.io: Async-first using var processor = await PdfProcessor.CreateAsync(); var document = await processor.GeneratePdfFromHtmlStringAsync(html); await document.SaveAsync("output.pdf"); // IronPDF:デフォルトで同期(async available when needed) var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); $vbLabelText $csharpLabel もし非同期操作が必要であれば、IronPDFはRenderHtmlAsPdfAsync()のような非同期バリアントを提供します。 プロセッサ ライフサイクルの排除 Nutrient.ioは、プロセッサの作成と廃棄が必要です: // Nutrient.io: Processor lifecycle management using var processor = await PdfProcessor.CreateAsync(); // ... use processor ... // Processor disposed at end of using block // IronPDF: No processor lifecycle var renderer = new ChromePdfRenderer(); // Reuse renderer, no complex lifecycle management // Nutrient.io: Processor lifecycle management using var processor = await PdfProcessor.CreateAsync(); // ... use processor ... // Processor disposed at end of using block // IronPDF: No processor lifecycle var renderer = new ChromePdfRenderer(); // Reuse renderer, no complex lifecycle management $vbLabelText $csharpLabel 構成パターンの変更 Nutrient.ioは設定オブジェクトを使用します; IronPDFはプロパティを使用します: // Nutrient.io: Config object var config = new PdfConfiguration { PageSize = PageSize.A4, Margins = new Margins(20, 20, 20, 20) }; var doc = await processor.GeneratePdfFromHtmlStringAsync(html, config); // IronPDF: Properties on RenderingOptions var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 20; renderer.RenderingOptions.MarginBottom = 20; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; var pdf = renderer.RenderHtmlAsPdf(html); // Nutrient.io: Config object var config = new PdfConfiguration { PageSize = PageSize.A4, Margins = new Margins(20, 20, 20, 20) }; var doc = await processor.GeneratePdfFromHtmlStringAsync(html, config); // IronPDF: Properties on RenderingOptions var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 20; renderer.RenderingOptions.MarginBottom = 20; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; var pdf = renderer.RenderHtmlAsPdf(html); $vbLabelText $csharpLabel HTML透かしへの注釈 注釈オブジェクトをHTML文字列に置き換える: // Nutrient.io: Annotation object with properties new TextAnnotation("CONFIDENTIAL") { Opacity = 0.5f, FontSize = 48 } // IronPDF: HTML with CSS "<h1 style='opacity:0.5; font-size:48px;'>CONFIDENTIAL</h1>" // Nutrient.io: Annotation object with properties new TextAnnotation("CONFIDENTIAL") { Opacity = 0.5f, FontSize = 48 } // IronPDF: HTML with CSS "<h1 style='opacity:0.5; font-size:48px;'>CONFIDENTIAL</h1>" $vbLabelText $csharpLabel ページ番号の取り扱い Nutrient.ioでは、手動によるページカウントが必要です; IronPDFにはプレースホルダーが組み込まれています: // Nutrient.io: Manual loop and page counting for (int i = 0; i < doc.PageCount; i++) { var footer = new TextAnnotation($"Page {i + 1} of {doc.PageCount}"); await doc.AddAnnotationAsync(i, footer); } // IronPDF: Built-in placeholders renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { HtmlFragment = "Page {page} of {total-pages}" }; // Nutrient.io: Manual loop and page counting for (int i = 0; i < doc.PageCount; i++) { var footer = new TextAnnotation($"Page {i + 1} of {doc.PageCount}"); await doc.AddAnnotationAsync(i, footer); } // IronPDF: Built-in placeholders renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { HtmlFragment = "Page {page} of {total-pages}" }; $vbLabelText $csharpLabel トラブルシューティング 問題 1: PdfProcessor が見つかりません 問題:IronPDFにPdfProcessorクラスが存在しません。 解決策: ChromePdfRendererを使用する: // Nutrient.io using var processor = await PdfProcessor.CreateAsync(); // IronPDF var renderer = new ChromePdfRenderer(); // Nutrient.io using var processor = await PdfProcessor.CreateAsync(); // IronPDF var renderer = new ChromePdfRenderer(); $vbLabelText $csharpLabel 問題 2: GeneratePdfFromHtmlStringAsync が見つかりません 問題:非同期 HTML メソッドが存在しません。 解決策: RenderHtmlAsPdf()を使用します。 // Nutrient.io var document = await processor.GeneratePdfFromHtmlStringAsync(html); // IronPDF var pdf = renderer.RenderHtmlAsPdf(html); // Nutrient.io var document = await processor.GeneratePdfFromHtmlStringAsync(html); // IronPDF var pdf = renderer.RenderHtmlAsPdf(html); $vbLabelText $csharpLabel 課題3: テキストアノテーションが見つかりません 問題:IronPDFに注釈クラスが存在しません。 解決策: HTML ベースの透かしを使用する: // Nutrient.io var watermark = new TextAnnotation("DRAFT") { Opacity = 0.5 }; await document.AddAnnotationAsync(0, watermark); // IronPDF pdf.ApplyWatermark("<div style='opacity:0.5;'>DRAFT</div>"); // Nutrient.io var watermark = new TextAnnotation("DRAFT") { Opacity = 0.5 }; await document.AddAnnotationAsync(0, watermark); // IronPDF pdf.ApplyWatermark("<div style='opacity:0.5;'>DRAFT</div>"); $vbLabelText $csharpLabel 問題 4: MergeAsync が見つかりません 問題:非同期マージ メソッドが存在しません。 解決策:静的PdfDocument.Merge()を使用します。 // Nutrient.io var mergedDocument = await processor.MergeAsync(documentList); // IronPDF var merged = PdfDocument.Merge(pdf1, pdf2); // Nutrient.io var mergedDocument = await processor.MergeAsync(documentList); // IronPDF var merged = PdfDocument.Merge(pdf1, pdf2); $vbLabelText $csharpLabel 移行チェックリスト 移行前 コードベース内のすべてのPSPDFKit/Nutrientの使用状況を一覧表示する 調整が必要な可能性のある非同期パターンを文書化する すべての構成オブジェクトとそのプロパティを一覧表示します 注釈ベースの機能(透かし、ヘッダー)を識別する フォーム処理要件を確認する IronPDFライセンスキーを取得する パッケージの変更 PSPDFKit.NET NuGet パッケージを削除する Nutrient NuGet パッケージを削除する IronPdf NuGet パッケージをインストールします: dotnet add package IronPdf 名前空間のインポートを更新する コードの変更 起動時にライセンスキー設定を追加する PdfProcessor.CreateAsync()をnew ChromePdfRenderer()に置き換えます processor.GeneratePdfFromHtmlStringAsync()をrenderer.RenderHtmlAsPdf()に置き換えます processor.MergeAsync()をPdfDocument.Merge()に置き換えます。 TextAnnotation透かしを HTML の透かしに変換します 設定オブジェクトをRenderingOptionsプロパティに置き換える プレースホルダー付きのHtmlHeaderFooter使用するようにヘッダー/フッターを更新します 不要な async/await パターンを削除する 移行後 不要になった async/await を削除します PDF出力を比較する回帰テストを実行する ページ番号付きのヘッダー/フッターを検証する 透かしのレンダリングをテストする CI/CDパイプラインの更新 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター 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#でPDFBoltからIronPDFへ移行する方法C#でNReco PDFジェネレーター...
公開日 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レンダリングに切り替えます。グラフィックスプリミティブの置き換えと自動レイアウトのコード例を含みます。 詳しく読む