移行ガイド C#でPlaywrightからIronPDFに移行する方法 カーティス・チャウ 公開日:2026年2月1日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る Playwright for .NETからIronPDFに移行することで、PDF生成のワークフローがテスト中心のブラウザ自動化ツールから目的に特化したPDFライブラリに変わります。 このガイドでは、複雑な非同期パターン、ブラウザのライフサイクル管理、400MB以上のブラウザのダウンロードを排除し、より良いパフォーマンスとプロフェッショナルなPDF機能を提供する、完全でステップバイステップの移行パスを提供します。 なぜPlaywrightからIronPDFに移行するのか .NET用Playwrightを理解する Playwright for .NETは、Microsoftのブラウザ自動化ツールファミリーの一部です; Chromium、Firefox、WebKitにまたがる包括的なテスト機能を提供することを中心に構成されています。 このライブラリは"テスト優先"の設計を採用しており、ブラウザベースのテストを伴うシナリオに主眼を置いています。 PlaywrightはPDF生成に対応していますが、この機能は補助的なものであり、専用のPDFツールに見られるような細かな設定はできません。 Playwright for .NETは、主にブラウザの自動化とテストフレームワークであり、PDF生成は二次的な機能です。 PuppeteerSharpと同様に、Playwrightはブラウザのprint-to-PDF機能(Ctrl+Pと同じ)を使ってPDFを生成します。これは、スクリーンレンダリングとは異なり、紙に最適化された印刷用出力を生成します。 テストフレームワークの問題 Playwrightは、ドキュメント生成ではなく、エンドツーエンドのテスト用に設計されています。 このため、PDFに使用する場合、基本的な問題が発生します: 1.初回使用前に400MB以上のブラウザダウンロードが必要です。 Playwrightのデフォルト設定では、複数のブラウザをダウンロードする必要があるため、リソースの制約が厳しい環境では注意が必要です。 2.ブラウザのコンテキストとページ管理による複雑な非同期パターン。 開発者は、ブラウザのコンテキストやページ管理、適切な廃棄方法について熟知する必要があります。 3.テスト優先のアーキテクチャで、ドキュメント生成には最適化されていません。 4.Print-to-PDFの制限 Ctrl+Pのブラウザ印刷と同等です。 レイアウトはリフローされ、背景はデフォルトで省略されます。 5.アクセシビリティ準拠のため、PDF/AまたはPDF/UAはサポートしていません。 Playwrightでは、PDF/A(アーカイブ)またはPDF/UA(アクセシビリティ)に準拠したドキュメントは作成できません。 508条、EUアクセシビリティ指令、または長期保存の要件には、専用のPDFライブラリが必要です。 6.フルブラウザのインスタンスを必要とする、リソースの多い操作。 PlaywrightとIronPDFのパフォーマンス比較 メトリック 脚本家 IronPDF 主な目的 ブラウザテスト PDF生成 ブラウザのダウンロード 400MB以上(Chromium、Firefox、WebKit) 最適化エンジン内蔵 ファーストレンダリング(コールドスタート) 4.5秒 2.8秒 後続レンダリング 3.8-4.1秒 0.8-1.2秒 変換あたりのメモリ。 280-420MB 80~120MB APIの複雑さ 非同期ブラウザ/コンテキスト/ページライフサイクル 同期ワンライナー 初期化。 playwright install + CreateAsync + LaunchAsync new ChromePdfRenderer(). PDF/Aサポート 不可 フルサポート PDF/UAアクセシビリティ。 不可 フルサポート デジタル署名。 不可 フルサポート PDFの編集。 不可 マージ、分割、スタンプ、編集 プロフェッショナルサポート コミュニティ SLA付き商用 IronPdfはPDF生成に焦点を当てて作られました。 テスト中心のPlaywrightとは異なり、IronPDFはドキュメント中心の様々なAPI機能を提供します。 最適化された1つのChromiumインスタンスに依存し、効率性を重視し、同期と非同期の両方の操作を提供します。 その結果、PDFの機能を必要とする開発者にとって、よりシンプルなメンタルモデルとワークフローが実現します。 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パッケージの変更 # Remove Playwright dotnet remove package Microsoft.Playwright # Remove browser binaries (reclaim ~400MB disk space) # Delete the .playwright folder in your project or user directory # Add IronPDF dotnet add package IronPdf # Remove Playwright dotnet remove package Microsoft.Playwright # Remove browser binaries (reclaim ~400MB disk space) # Delete the .playwright folder in your project or user directory # Add IronPDF dotnet add package IronPdf SHELL IronPdfではplaywrightのインストールは不要です。 ライセンス構成 // Add at application startup IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Add at application startup IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; $vbLabelText $csharpLabel 完全な API リファレンス 名前空間の変更 // Before: Playwright using Microsoft.Playwright; using System.Threading.Tasks; // After: IronPDF using IronPdf; using IronPdf.Rendering; // Before: Playwright using Microsoft.Playwright; using System.Threading.Tasks; // After: IronPDF using IronPdf; using IronPdf.Rendering; $vbLabelText $csharpLabel コア API マッピング Playwright API IronPDF API ノート Playwright.CreateAsync()。 new ChromePdfRenderer(). 非同期は不要 playwright.Chromium.LaunchAsync()。 不要 ブラウザ管理なし browser.NewPageAsync()。 不要 ページコンテキストなし page.GotoAsync(url). renderer.RenderUrlAsPdf(url)のようにします。 直接URLレンダリング page.SetContentAsync(html) + page.PdfAsync(). renderer.RenderHtmlAsPdf(html). 単一メソッド page.CloseAsync()。 不要 自動クリーンアップ browser.CloseAsync()。 不要 自動クリーンアップ PagePdfOptions.Format RenderingOptions.PaperSize 用紙サイズ PagePdfOptions.Margin RenderingOptions.MarginTop/Bottom/Left/Right。 個々の余白 PagePdfOptions.DisplayHeaderFooterを使用してください。 RenderingOptions.TextHeader/TextFooter。 ヘッダー/フッター PagePdfOptions.HeaderTemplate RenderingOptions.HtmlHeader HTMLヘッダー PagePdfOptions.FooterTemplate</code>|<code>RenderingOptions.HtmlFooter HTMLフッター <span class="pageNumber"> {ページ} ページ番号プレースホルダ コード移行の例 例1: HTML文字列からPDFへの変換 ビフォア(脚本家):。 // NuGet: Install-Package Microsoft.Playwright using Microsoft.Playwright; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { var playwright = await Playwright.CreateAsync(); var browser = await playwright.Chromium.LaunchAsync(); var page = await browser.NewPageAsync(); string html = "<h1>Hello World</h1><p>This is a test PDF.</p>"; await page.SetContentAsync(html); await page.PdfAsync(new PagePdfOptions { Path = "output.pdf" }); await browser.CloseAsync(); } } // NuGet: Install-Package Microsoft.Playwright using Microsoft.Playwright; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { var playwright = await Playwright.CreateAsync(); var browser = await playwright.Chromium.LaunchAsync(); var page = await browser.NewPageAsync(); string html = "<h1>Hello World</h1><p>This is a test PDF.</p>"; await page.SetContentAsync(html); await page.PdfAsync(new PagePdfOptions { Path = "output.pdf" }); await browser.CloseAsync(); } } $vbLabelText $csharpLabel 翻訳後(IronPDF):。 // NuGet: Install-Package IronPdf using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); string html = "<h1>Hello World</h1><p>This is a test PDF.</p>"; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); string html = "<h1>Hello World</h1><p>This is a test PDF.</p>"; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); } } $vbLabelText $csharpLabel この例は、基本的なアーキテクチャの違いを示しています。 Playwrightは5つの非同期操作を必要とします:Playwright.CreateAsync()、Chromium.LaunchAsync()、NewPageAsync()、SetContentAsync()、PdfAsync()、さらにCloseAsync()による明示的なブラウザのクリーンアップです。 IronPDFはこのような複雑さをすべて取り除きます: ChromePdfRendererを作成し、RenderHtmlAsPdf()を呼び出し、SaveAs()します。 非同期パターン、ブラウザライフサイクル、クリーンアップコードはありません。 IronPDFのアプローチは、よりきれいな構文と最新の.NETアプリケーションとのより良い統合を提供します。 包括的な例については、HTML to PDF documentationを参照してください。 例2: URLからPDFへの変換 ビフォア(脚本家):。 // NuGet: Install-Package Microsoft.Playwright using Microsoft.Playwright; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { var playwright = await Playwright.CreateAsync(); var browser = await playwright.Chromium.LaunchAsync(); var page = await browser.NewPageAsync(); await page.GotoAsync("https://www.example.com"); await page.PdfAsync(new PagePdfOptions { Path = "webpage.pdf", Format = "A4" }); await browser.CloseAsync(); } } // NuGet: Install-Package Microsoft.Playwright using Microsoft.Playwright; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { var playwright = await Playwright.CreateAsync(); var browser = await playwright.Chromium.LaunchAsync(); var page = await browser.NewPageAsync(); await page.GotoAsync("https://www.example.com"); await page.PdfAsync(new PagePdfOptions { Path = "webpage.pdf", Format = "A4" }); await browser.CloseAsync(); } } $vbLabelText $csharpLabel 翻訳後(IronPDF):。 // NuGet: Install-Package IronPdf using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf("https://www.example.com"); pdf.SaveAs("webpage.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf("https://www.example.com"); pdf.SaveAs("webpage.pdf"); } } $vbLabelText $csharpLabel Playwright は、GotoAsync() を使用して、PdfAsync() に続く URL に移動します。 IronPDFは一つのRenderUrlAsPdf()メソッドでナビゲーションとPDF生成を行います。 PlaywrightはPagePdfOptionsでFormatを指定する必要がありますが、IronPDFはRenderingOptions.PaperSizeを使って用紙サイズを設定することに注意してください。 詳しくは、チュートリアルをご覧ください。 例3: 余白を使ったカスタムページサイズ ビフォア(脚本家):。 // NuGet: Install-Package Microsoft.Playwright using Microsoft.Playwright; using System.Threading.Tasks; class Program { static async Task Main() { using var playwright = await Playwright.CreateAsync(); await using var browser = await playwright.Chromium.LaunchAsync(); var page = await browser.NewPageAsync(); await page.SetContentAsync("<h1>Custom PDF</h1><p>Letter size with margins</p>"); await page.PdfAsync(new PagePdfOptions { Path = "custom.pdf", Format = "Letter", Margin = new Margin { Top = "1in", Bottom = "1in", Left = "0.5in", Right = "0.5in" } }); } } // NuGet: Install-Package Microsoft.Playwright using Microsoft.Playwright; using System.Threading.Tasks; class Program { static async Task Main() { using var playwright = await Playwright.CreateAsync(); await using var browser = await playwright.Chromium.LaunchAsync(); var page = await browser.NewPageAsync(); await page.SetContentAsync("<h1>Custom PDF</h1><p>Letter size with margins</p>"); await page.PdfAsync(new PagePdfOptions { Path = "custom.pdf", Format = "Letter", Margin = new Margin { Top = "1in", Bottom = "1in", Left = "0.5in", Right = "0.5in" } }); } } $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.Letter; renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.MarginLeft = 12; renderer.RenderingOptions.MarginRight = 12; var pdf = renderer.RenderHtmlAsPdf("<h1>Custom PDF</h1><p>Letter size with margins</p>"); pdf.SaveAs("custom.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Rendering; class Program { static void Main() { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter; renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.MarginLeft = 12; renderer.RenderingOptions.MarginRight = 12; var pdf = renderer.RenderHtmlAsPdf("<h1>Custom PDF</h1><p>Letter size with margins</p>"); pdf.SaveAs("custom.pdf"); } } $vbLabelText $csharpLabel Playwrightは文字列ベースのマージン値("1in", "0.5in")を使用し、IronPDFはミリ単位の数値を使用します。 1インチ=25.4mmなので、"1in"は25となり、"0.5in"は約12となります。 PlaywrightのFormat = "Letter"はIronPDFのPaperSize = PdfPaperSize.Letterに対応します。 例4: ヘッダー、フッター、カスタム設定 ビフォア(脚本家):。 // NuGet: Install-Package Microsoft.Playwright using Microsoft.Playwright; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { var playwright = await Playwright.CreateAsync(); var browser = await playwright.Chromium.LaunchAsync(); var page = await browser.NewPageAsync(); string html = "<h1>Custom PDF</h1><p>With margins and headers.</p>"; await page.SetContentAsync(html); await page.PdfAsync(new PagePdfOptions { Path = "custom.pdf", Format = "A4", Margin = new Margin { Top = "1cm", Bottom = "1cm", Left = "1cm", Right = "1cm" }, DisplayHeaderFooter = true, HeaderTemplate = "<div style='font-size:10px; text-align:center;'>Header</div>", FooterTemplate = "<div style='font-size:10px; text-align:center;'>Page <span class='pageNumber'></span></div>" }); await browser.CloseAsync(); } } // NuGet: Install-Package Microsoft.Playwright using Microsoft.Playwright; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { var playwright = await Playwright.CreateAsync(); var browser = await playwright.Chromium.LaunchAsync(); var page = await browser.NewPageAsync(); string html = "<h1>Custom PDF</h1><p>With margins and headers.</p>"; await page.SetContentAsync(html); await page.PdfAsync(new PagePdfOptions { Path = "custom.pdf", Format = "A4", Margin = new Margin { Top = "1cm", Bottom = "1cm", Left = "1cm", Right = "1cm" }, DisplayHeaderFooter = true, HeaderTemplate = "<div style='font-size:10px; text-align:center;'>Header</div>", FooterTemplate = "<div style='font-size:10px; text-align:center;'>Page <span class='pageNumber'></span></div>" }); await browser.CloseAsync(); } } $vbLabelText $csharpLabel 翻訳後(IronPDF):。 // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Rendering; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.MarginTop = 10; renderer.RenderingOptions.MarginBottom = 10; renderer.RenderingOptions.MarginLeft = 10; renderer.RenderingOptions.MarginRight = 10; renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.TextHeader.CenterText = "Header"; renderer.RenderingOptions.TextFooter.CenterText = "Page {page}"; string html = "<h1>Custom PDF</h1><p>With margins and headers.</p>"; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("custom.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Rendering; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.MarginTop = 10; renderer.RenderingOptions.MarginBottom = 10; renderer.RenderingOptions.MarginLeft = 10; renderer.RenderingOptions.MarginRight = 10; renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.TextHeader.CenterText = "Header"; renderer.RenderingOptions.TextFooter.CenterText = "Page {page}"; string html = "<h1>Custom PDF</h1><p>With margins and headers.</p>"; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("custom.pdf"); } } $vbLabelText $csharpLabel この例では、ヘッダーとフッターのプレースホルダーの構文の違いを示しています。 PlaywrightはHTMLクラスベースのプレースホルダー(<span class="pageNumber"></span>) を使用し、IronPDFは中括弧プレースホルダー({page})を使用します。 Playwrightはヘッダー/フッターを有効にするためにDisplayHeaderFooter = trueを要求しますが、IronPDFはヘッダー/フッターコンテンツを設定すると自動的に有効にすることに注意してください。 重要な移行に関する注意事項 非同期から同期への変換 Playwrightは、全体を通してasync/awaitを必要とします; IronPDFは同期操作をサポートしています: // Playwright: Async required public async Task<byte[]> GeneratePdfAsync(string html) { using var playwright = await Playwright.CreateAsync(); await using var browser = await playwright.Chromium.LaunchAsync(); var page = await browser.NewPageAsync(); await page.SetContentAsync(html); return await page.PdfAsync(); } // IronPDF: Sync is simpler public byte[] GeneratePdf(string html) { var renderer = new ChromePdfRenderer(); return renderer.RenderHtmlAsPdf(html).BinaryData; } // Playwright: Async required public async Task<byte[]> GeneratePdfAsync(string html) { using var playwright = await Playwright.CreateAsync(); await using var browser = await playwright.Chromium.LaunchAsync(); var page = await browser.NewPageAsync(); await page.SetContentAsync(html); return await page.PdfAsync(); } // IronPDF: Sync is simpler public byte[] GeneratePdf(string html) { var renderer = new ChromePdfRenderer(); return renderer.RenderHtmlAsPdf(html).BinaryData; } $vbLabelText $csharpLabel マージン単位の変換 Playwrightは文字列単位を使用します; IronPDFはミリメートルの数値を使用しています: 脚本家 IronPDF (mm) "1in" 25 "0.5in" 12 "1cm" 10 ヘッダー/フッター プレースホルダーの変換 劇作家クラス IronPDF プレースホルダー <span class="pageNumber"> {ページ} <span class="totalPages"></code>|<code>{総ページ数} <span class="date"> {date} {html-title} ブラウザーのライフサイクルの排除 すべてのブラウザ管理コードを削除してください: // Playwright: Explicit cleanup required await page.CloseAsync(); await browser.CloseAsync(); playwright.Dispose(); // IronPDF: No disposal needed - just use the renderer var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); // Playwright: Explicit cleanup required await page.CloseAsync(); await browser.CloseAsync(); playwright.Dispose(); // IronPDF: No disposal needed - just use the renderer var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); $vbLabelText $csharpLabel 移行後の新機能 IronPdfに移行した後は、Playwrightでは提供できない機能を得ることができます: PDFマージ var pdf1 = renderer.RenderHtmlAsPdf(html1); var pdf2 = renderer.RenderHtmlAsPdf(html2); var merged = PdfDocument.Merge(pdf1, pdf2); merged.SaveAs("merged.pdf"); var pdf1 = renderer.RenderHtmlAsPdf(html1); var pdf2 = renderer.RenderHtmlAsPdf(html2); var merged = PdfDocument.Merge(pdf1, pdf2); merged.SaveAs("merged.pdf"); $vbLabelText $csharpLabel ウォーターマーク pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>DRAFT</h1>"); pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>DRAFT</h1>"); $vbLabelText $csharpLabel パスワード保護 pdf.SecuritySettings.OwnerPassword = "admin"; pdf.SecuritySettings.UserPassword = "readonly"; pdf.SecuritySettings.AllowUserCopyPasteContent = false; pdf.SecuritySettings.OwnerPassword = "admin"; pdf.SecuritySettings.UserPassword = "readonly"; pdf.SecuritySettings.AllowUserCopyPasteContent = false; $vbLabelText $csharpLabel デジタル署名 var signature = new PdfSignature("certificate.pfx", "password"); pdf.Sign(signature); var signature = new PdfSignature("certificate.pfx", "password"); pdf.Sign(signature); $vbLabelText $csharpLabel PDF/A準拠 pdf.SaveAsPdfA("archive.pdf", PdfAVersions.PdfA3b); pdf.SaveAsPdfA("archive.pdf", PdfAVersions.PdfA3b); $vbLabelText $csharpLabel 移行チェックリスト 移行前 -脚本家PDF生成コードをすべて特定する ドキュメントの余白値(インチ/cmをミリメートルに変換) 変換のためのヘッダー/フッターのプレースホルダー構文に注意してください ironpdf.comからIronPDFライセンスキーを取得します パッケージの変更 Microsoft.Playwright NuGet パッケージを削除する .playwrightフォルダを削除して、約 400 MB のディスク容量を解放します。 IronPdf NuGet パッケージをインストールします: dotnet add package IronPdf コードの変更 名前空間のインポートを更新する 非同期ブラウザライフサイクルをChromePdfRendererに置き換える page.SetContentAsync() + page.PdfAsync()をRenderHtmlAsPdf()に変換する page.GotoAsync() + page.PdfAsync()をRenderUrlAsPdf()に変換する マージン文字列をミリメートル値に変換する ヘッダー/フッターのプレースホルダー構文を変換する すべてのブラウザ/ページ破棄コードを削除します アプリケーションの起動時にライセンスの初期化を追加 移行後 PDF出力の視覚的な比較 ページ番号付きのヘッダー/フッターのレンダリングを検証する 余白とページサイズの精度をテストする 必要に応じて新しい機能(セキュリティ、透かし、結合)を追加します カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター 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#でPrinceXMLからIronPDFに移行する方法C#でPeachPDFから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レンダリングに切り替えます。グラフィックスプリミティブの置き換えと自動レイアウトのコード例を含みます。 詳しく読む