移行ガイド C#でwkhtmltopdfからIronPDFに移行する方法 カーティス・チャウ 公開日:2026年2月1日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る wkhtmltopdfは、Qt WebKitを使ってHTML文書をPDFに変換するツールとして広く使われてきました。 コマンドライン機能と無償ライセンスで開発者の間で人気があるにもかかわらず、このプロジェクトは現在、もはや無視できない重大なセキュリティリスクを抱えています。 このライブラリは2016年から2017年にかけて公式に放棄され、重大度CRITICALの脆弱性(CVE-2022-35583)は永久にパッチが適用されていません。 このガイドでは、アプリケーションからこのセキュリティリスクを排除する必要のあるプロの.NET開発者のために、ステップバイステップの手順、コード比較、実用的な例を用いて、wkhtmltopdfからIronPDFへの完全な移行パスを提供します。 重大なセキュリティ警告:CVE-2022-35583 wkhtmltopdfには、修正されることのない重大なセキュリティ脆弱性が含まれています: 問題 重要度 ステータス CVE-2022-35583 クリティカル (9.8/10) UNPATCHED SSRFの脆弱性について インフラ買収リスク UNPATCHED 最終更新日 2016-2017 ABANDONED WebKitバージョン 2015 (Qt WebKit) OBSOLETE CSSグリッドサポート なし ブロークン Flexboxサポート 部分的 ブロークン ES6+のJavaScript。 なし ブロークン SSRF攻撃の仕組み Server-Side Request Forgery 脆弱性は、攻撃者が細工した HTML を通して内部サービスにアクセスし、認証情報を盗み、内部ネットワークをスキャンし、機密データを流出させることを可能にします: <iframe src="http://169.254.169.254/latest/meta-data/iam/security-credentials/"></iframe> <img src="http://internal-database:5432/admin"/> <iframe src="http://169.254.169.254/latest/meta-data/iam/security-credentials/"></iframe> <img src="http://internal-database:5432/admin"/> HTML wkhtmltopdfがこのHTMLをレンダリングするとき、ファイアウォールやセキュリティコントロールをバイパスして、サーバーのネットワークコンテキストからこれらのURLを取得します。 影響を受けるラッパー・ライブラリについて wkhtmltopdfのすべての.NETラッパーは、これらの脆弱性を継承しています: ラッパー・ライブラリ ステータス セキュリティリスク DinkToPdfを使用してください。 中止 ⚠️ 重要 Rotativa(ロータティバ 中止 ⚠️ 重要 TuesPechkinさん 中止 ⚠️ 重要 WkHtmlToPdf-DotNet。 中止 ⚠️ 重要 NReco.PdfGenerator(英語 wkhtmltopdfを使用 ⚠️ 重要 これらのライブラリのいずれかを使用している場合、CVE-2022-35583.に対する脆弱性があります。 IronPDFとwkhtmltopdfの比較:機能の比較 アーキテクチャの違いを理解することは、技術的な意思決定者が移行への投資を評価するのに役立ちます: フィーチャー wkhtmltopdf IronPDF ライセンスについて LGPLv3 (無料) 商用 レンダリングエンジン Qt WebKit (2015) 現在のChromiumエンジン セキュリティの脆弱性 CVE-2022-35583、パッチが適用されていない主な問題 既知のCVEはありません アクティブなメンテナンス。 2017年以降、意味のある更新がなく、放棄されました。 定期的なリリースによる積極的なメンテナンス 最新ウェブ標準のサポート 制限付き(broken flexbox、CSS Gridなし) フルサポート 統合とサポート コミュニティフォーラム限定 豊富なドキュメントと専用サポート CSSグリッド ❌ 未対応 フルサポート Flexbox(フレックスボックス ⚠️ 壊れた フルサポート ES6+のJavaScript。 ❌ 未対応 フルサポート 非同期/待機 ❌ 未対応 フルサポート PDF操作 ❌ 未対応 フルサポート デジタル署名。 ❌ 未対応 フルサポート PDF/Aコンプライアンス ❌ 未対応 フルサポート クイックスタート:wkhtmltopdfからIronPDFへのマイグレーション これらの基本的なステップを踏めば、すぐにでも移行を開始できます。 ステップ 1:wkhtmltopdfパッケージとバイナリを削除する すべてのwkhtmltopdfラッパー・パッケージを削除してください: # Remove wkhtmltopdf wrapper (whichever you're using) dotnet remove package WkHtmlToPdf-DotNet dotnet remove package DinkToPdf dotnet remove package TuesPechkin dotnet remove package Rotativa dotnet remove package Rotativa.AspNetCore dotnet remove package NReco.PdfGenerator # Remove wkhtmltopdf binary from your deployment # Delete wkhtmltopdf.exe, wkhtmltox.dll, etc. # Remove wkhtmltopdf wrapper (whichever you're using) dotnet remove package WkHtmlToPdf-DotNet dotnet remove package DinkToPdf dotnet remove package TuesPechkin dotnet remove package Rotativa dotnet remove package Rotativa.AspNetCore dotnet remove package NReco.PdfGenerator # Remove wkhtmltopdf binary from your deployment # Delete wkhtmltopdf.exe, wkhtmltox.dll, etc. SHELL ステップ2: IronPDFをインストールする # AddIronPDF(secure, modern alternative) dotnet add package IronPdf # AddIronPDF(secure, modern alternative) dotnet add package IronPdf SHELL ステップ 3: 名前空間の更新 wkhtmltopdf名前空間をIronPdf名前空間に置き換えてください: // Before (wkhtmltopdf) using WkHtmlToPdfDotNet; using WkHtmlToPdfDotNet.Contracts; // After (IronPDF) using IronPdf; // Before (wkhtmltopdf) using WkHtmlToPdfDotNet; using WkHtmlToPdfDotNet.Contracts; // After (IronPDF) using IronPdf; $vbLabelText $csharpLabel ステップ 4: ライセンスの初期化 アプリケーション起動時のライセンス初期化を追加します: IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; $vbLabelText $csharpLabel コード移行の例 HTML を PDF に変換する 最も基本的な操作は、これらの.NET PDFアプローチの複雑さの違いを明らかにします。 wkhtmltopdfのアプローチ: // NuGet: Install-Package WkHtmlToPdf-DotNet using WkHtmlToPdfDotNet; using WkHtmlToPdfDotNet.Contracts; using System.IO; class Program { static void Main() { var converter = new SynchronizedConverter(new PdfTools()); var doc = new HtmlToPdfDocument() { GlobalSettings = { ColorMode = ColorMode.Color, オリエンテーション= Orientation.Portrait, PaperSize = PaperKind.A4 }, Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1><p>This is a PDF from HTML.</p>" } } }; byte[] pdf = converter.Convert(doc); File.WriteAllBytes("output.pdf", pdf); } } // NuGet: Install-Package WkHtmlToPdf-DotNet using WkHtmlToPdfDotNet; using WkHtmlToPdfDotNet.Contracts; using System.IO; class Program { static void Main() { var converter = new SynchronizedConverter(new PdfTools()); var doc = new HtmlToPdfDocument() { GlobalSettings = { ColorMode = ColorMode.Color, オリエンテーション= Orientation.Portrait, PaperSize = PaperKind.A4 }, Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1><p>This is a PDF from HTML.</p>" } } }; byte[] pdf = converter.Convert(doc); File.WriteAllBytes("output.pdf", pdf); } } $vbLabelText $csharpLabel IronPDFのアプローチ: // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML.</p>"); pdf.SaveAs("output.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML.</p>"); pdf.SaveAs("output.pdf"); } } $vbLabelText $csharpLabel wkhtmltopdfでは、PdfToolsでSynchronizedConverterを作成し、GlobalSettingsとObjectsでHtmlToPdfDocumentを構成し、ColorMode、Orientation、PaperSizeなどのプロパティを設定し、converter.Convert()を呼び出して生のバイトを取得し、File.WriteAllBytes()で手動でファイルに書き込む。 IronPDFはこの儀式を完全に排除します。ChromePdfRendererを作成し、RenderHtmlAsPdf()を呼び出し、組み込みのSaveAs()メソッドを使用します。 高度なHTMLからPDFへのシナリオについては、HTMLからPDFへの変換ガイドをご覧ください。 URLをPDFに変換する URLからPDFへの変換も、似たような複雑さのパターンを示しています。 wkhtmltopdfのアプローチ: // NuGet: Install-Package WkHtmlToPdf-DotNet using WkHtmlToPdfDotNet; using WkHtmlToPdfDotNet.Contracts; using System.IO; class Program { static void Main() { var converter = new SynchronizedConverter(new PdfTools()); var doc = new HtmlToPdfDocument() { GlobalSettings = { ColorMode = ColorMode.Color, オリエンテーション= Orientation.Portrait, PaperSize = PaperKind.A4 }, Objects = { new ObjectSettings() { Page = "https://www.example.com" } } }; byte[] pdf = converter.Convert(doc); File.WriteAllBytes("webpage.pdf", pdf); } } // NuGet: Install-Package WkHtmlToPdf-DotNet using WkHtmlToPdfDotNet; using WkHtmlToPdfDotNet.Contracts; using System.IO; class Program { static void Main() { var converter = new SynchronizedConverter(new PdfTools()); var doc = new HtmlToPdfDocument() { GlobalSettings = { ColorMode = ColorMode.Color, オリエンテーション= Orientation.Portrait, PaperSize = PaperKind.A4 }, Objects = { new ObjectSettings() { Page = "https://www.example.com" } } }; byte[] pdf = converter.Convert(doc); File.WriteAllBytes("webpage.pdf", pdf); } } $vbLabelText $csharpLabel IronPDFのアプローチ: // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf("https://www.example.com"); pdf.SaveAs("webpage.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf("https://www.example.com"); pdf.SaveAs("webpage.pdf"); } } $vbLabelText $csharpLabel wkhtmltopdfは、ObjectSettingsのPageプロパティを使用してURLを指定するため、同じドキュメント構築パターンを必要とします。 IronPDFは意図を明確に表現する専用のRenderUrlAsPdf()メソッドを提供します。 認証とカスタムヘッダーオプションについては、URL to PDF documentationを参照してください。 カスタム設定:ページ構成を含むHTMLファイル 方向、余白、用紙サイズの設定には、さまざまなアプローチが必要です。 wkhtmltopdfのアプローチ: // NuGet: Install-Package WkHtmlToPdf-DotNet using WkHtmlToPdfDotNet; using WkHtmlToPdfDotNet.Contracts; using System.IO; class Program { static void Main() { var converter = new SynchronizedConverter(new PdfTools()); var doc = new HtmlToPdfDocument() { GlobalSettings = { ColorMode = ColorMode.Color, オリエンテーション= Orientation.Landscape, PaperSize = PaperKind.A4, Margins = new MarginSettings() { Top = 10, Bottom = 10, Left = 10, Right = 10 } }, Objects = { new ObjectSettings() { Page = "input.html", WebSettings = { DefaultEncoding = "utf-8" } } } }; byte[] pdf = converter.Convert(doc); File.WriteAllBytes("custom-output.pdf", pdf); } } // NuGet: Install-Package WkHtmlToPdf-DotNet using WkHtmlToPdfDotNet; using WkHtmlToPdfDotNet.Contracts; using System.IO; class Program { static void Main() { var converter = new SynchronizedConverter(new PdfTools()); var doc = new HtmlToPdfDocument() { GlobalSettings = { ColorMode = ColorMode.Color, オリエンテーション= Orientation.Landscape, PaperSize = PaperKind.A4, Margins = new MarginSettings() { Top = 10, Bottom = 10, Left = 10, Right = 10 } }, Objects = { new ObjectSettings() { Page = "input.html", WebSettings = { DefaultEncoding = "utf-8" } } } }; byte[] pdf = converter.Convert(doc); File.WriteAllBytes("custom-output.pdf", pdf); } } $vbLabelText $csharpLabel IronPDFのアプローチ: // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Rendering; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape; renderer.RenderingOptions.MarginTop = 10; renderer.RenderingOptions.MarginBottom = 10; renderer.RenderingOptions.MarginLeft = 10; renderer.RenderingOptions.MarginRight = 10; renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; var pdf = renderer.RenderHtmlFileAsPdf("input.html"); pdf.SaveAs("custom-output.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Rendering; using System; class Program { static void Main() { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape; renderer.RenderingOptions.MarginTop = 10; renderer.RenderingOptions.MarginBottom = 10; renderer.RenderingOptions.MarginLeft = 10; renderer.RenderingOptions.MarginRight = 10; renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; var pdf = renderer.RenderHtmlFileAsPdf("input.html"); pdf.SaveAs("custom-output.pdf"); } } $vbLabelText $csharpLabel wkhtmltopdfは、GlobalSettingsとObjectsの中に設定を入れ子にし、MarginSettingsは別のオブジェクトにします。 IronPDFはPaperOrientation, MarginTop, PaperSizeのような明確な名前のRenderingOptionsプロパティを直接提供します。 wkhtmltopdf APIからIronPDFへのマッピングリファレンス このマッピングは、APIと同等のものを直接示すことで、移行を加速します: CLIからIronPDFへのマッピング wkhtmltopdfのCLIオプション IronPDF 同等物 ノート wkhtmltopdf input.html output.pdf</code>|renderer.RenderHtmlFileAsPdf()`を使用してください。 ファイルからPDFへ wkhtmltopdf URL output.pdf</code>|renderer.RenderUrlAsPdf()`を使用してください。 URLからPDFへ --ページサイズ A4 RenderingOptions.PaperSize=PdfPaperSize.A4。 用紙サイズ --ページサイズ Letter RenderingOptions.PaperSize=PdfPaperSize.Letter。 USレター --オリエンテーション Landscape RenderingOptions.PaperOrientation = Landscape. オリエンテーション --マージントップ10mm|RenderingOptions.MarginTop = 10`. マージン(mm --マージン下10mm `RenderingOptions.MarginBottom = 10. --margin-left 10mm RenderingOptions.MarginLeft = 10. --margin-right 10mm RenderingOptions.MarginRight = 10. --header-html header.html RenderingOptions.HtmlHeader` HTMLヘッダー --footer-center "[ページ]"。 `{ページ}プレースホルダ ページ数 --footer-center "[toPage]" {総ページ数}プレースホルダ 総ページ数 --enable-javascript` デフォルトで有効 JavaScript `--javascript-delay 500 RenderingOptions.WaitFor.RenderDelay = 500. JS遅延 --dpi 300 RenderingOptions.Dpi = 300. DPI設定 --グレースケール|RenderingOptions.GrayScale = true`. グレースケール C#ラッパーAPIマッピング wkhtmltopdfラッパー IronPDF ノート SynchronizedConverter(シンクロナイズド・コンバーター ChromePdfRenderer メインレンダラー HtmlToPdfDocument レンダリングオプション 構成 GlobalSettings.Out pdf.SaveAs() 出力ファイル GlobalSettings.PaperSize RenderingOptions.PaperSize 用紙サイズ GlobalSettings.Orientation RenderingOptions.PaperOrientation オリエンテーション グローバル設定.マージン レンダリングオプション.マージン* 個々の余白 オブジェクト設定.ページ RenderHtmlFileAsPdf() ファイル入力 ObjectSettings.HtmlContent RenderHtmlAsPdf() HTML文字列 converter.Convert(doc). renderer.RenderHtmlAsPdf() PDFの作成 プレースホルダーの構文の移行 wkhtmltopdfプレースホルダ IronPDF プレースホルダー [ページ] {ページ} [toPage] {総ページ数} [日付] `{date} [時間]|{時間}` [タイトル] `{html-title} [URL]` {url} 一般的な移行の問題と解決策 課題 1: ヘッダー/フッターのプレースホルダーの構文 wkhtmltopdf:[page]や[toPage]のような角括弧構文を使用します。 解決策: IronPDFの中括弧プレースホルダーを更新しました: // Before (wkhtmltopdf) FooterSettings = { Left = "Page [page] of [toPage]" } // After (IronPDF) renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { HtmlFragment = "<div style='text-align:left;'>Page {page} of {total-pages}</div>", MaxHeight = 25 }; // Before (wkhtmltopdf) FooterSettings = { Left = "Page [page] of [toPage]" } // After (IronPDF) renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { HtmlFragment = "<div style='text-align:left;'>Page {page} of {total-pages}</div>", MaxHeight = 25 }; $vbLabelText $csharpLabel 課題 2:JavaScript遅延設定 wkhtmltopdf:信頼性の低いJavascriptDelayプロパティを使用しています。 ソリューション: IronPDFは複数のオプションを提供します: renderer.RenderingOptions.EnableJavaScript = true; // Option 1: Fixed delay renderer.RenderingOptions.WaitFor.RenderDelay(500); // Option 2: Wait for specific element (more reliable) renderer.RenderingOptions.WaitFor.HtmlElementById("content-loaded"); // Option 3: Wait forJavaScriptcondition renderer.RenderingOptions.WaitFor.JavaScript("window.renderComplete === true"); renderer.RenderingOptions.EnableJavaScript = true; // Option 1: Fixed delay renderer.RenderingOptions.WaitFor.RenderDelay(500); // Option 2: Wait for specific element (more reliable) renderer.RenderingOptions.WaitFor.HtmlElementById("content-loaded"); // Option 3: Wait forJavaScriptcondition renderer.RenderingOptions.WaitFor.JavaScript("window.renderComplete === true"); $vbLabelText $csharpLabel 課題3: モダンなCSSがレンダリングされない 症状: CSS Grid および Flexbox レイアウトがwkhtmltopdfで正しく表示されません。 ソリューション: IronPdfのChromiumエンジンは最新のCSSを正しく処理します: // This CSS now works with IronPDF var html = @" <style> .grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .flex { display: flex; justify-content: space-between; align-items: center; } </style> <div class='grid'> <div>Column 1</div> <div>Column 2</div> <div>Column 3</div> </div>"; var pdf = renderer.RenderHtmlAsPdf(html); // This CSS now works with IronPDF var html = @" <style> .grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .flex { display: flex; justify-content: space-between; align-items: center; } </style> <div class='grid'> <div>Column 1</div> <div>Column 2</div> <div>Column 3</div> </div>"; var pdf = renderer.RenderHtmlAsPdf(html); $vbLabelText $csharpLabel 課題 4: 同期レンダリングと非同期レンダリング wkhtmltopdf:ラッパーは同期スレッドとブロックスレッドです。 ソリューション: IronPDFは非同期レンダリングをサポートしています: public async Task<byte[]> GeneratePdfAsync(string html) { var renderer = new ChromePdfRenderer(); var pdf = await renderer.RenderHtmlAsPdfAsync(html); return pdf.BinaryData; } public async Task<byte[]> GeneratePdfAsync(string html) { var renderer = new ChromePdfRenderer(); var pdf = await renderer.RenderHtmlAsPdfAsync(html); return pdf.BinaryData; } $vbLabelText $csharpLabel wkhtmltopdf移行チェックリスト マイグレーション前のタスク コードベースを監査して、wkhtmltopdfの使用法をすべて特定してください: # Find all wkhtmltopdf references grep -r "WkHtmlToPdfDotNet\|DinkToPdf\|TuesPechkin\|Rotativa" --include="*.cs" . grep -r "wkhtmltopdf" --include="*.yml" --include="*.yaml" --include="Dockerfile" . # Find all wkhtmltopdf references grep -r "WkHtmlToPdfDotNet\|DinkToPdf\|TuesPechkin\|Rotativa" --include="*.cs" . grep -r "wkhtmltopdf" --include="*.yml" --include="*.yaml" --include="Dockerfile" . SHELL 削除するwkhtmltopdfバイナリファイルを探し出し、文書化する。 ドキュメントの現在の設定(用紙サイズ、余白、ヘッダー/フッター)。 コード更新タスク 1.すべてのwkhtmltopdfラッパーNuGetパッケージを削除する。 2.wkhtmltopdfバイナリを削除する (wkhtmltopdf.exe、wkhtmltox.dll) 3.IronPdf NuGetパッケージをインストールする 4.名前空間のインポートをWkHtmlToPdfDotNetからIronPdfに更新してください。 5.SynchronizedConverterをChromePdfRendererに置き換えてください。 6.HtmlToPdfDocument パターンを直接レンダリング メソッドに変換する 7.GlobalSettings構成をRenderingOptionsに更新してください。 8.マージン設定をMarginSettingsから個々のプロパティに変換します。 9.プレースホルダの構文を更新 ([page] → {page},[toPage]→{total-pages}`) 10.起動時にIronPDFライセンスの初期化を追加する 移行後のテスト 移行後、これらの点を検証してください: PDF出力の視覚的比較(最新のCSSサポートにより改善されるはずです) 最新のCSSレンダリングの検証(CSS GridとFlexboxが動作するようになりました) JavaScriptを多用するページのテスト wkhtmltopdfバイナリが残っていないことを確認するためのセキュリティスキャン パフォーマンス比較のための負荷テスト セキュリティ検証 # Scan for any remaining wkhtmltopdf artifacts find /var/www/ -name "*wkhtmlto*" 2>/dev/null find /usr/local/bin/ -name "*wkhtmlto*" 2>/dev/null docker images | grep wkhtmltopdf # Check if any process is still using it ps aux | grep wkhtmltopdf # Scan for any remaining wkhtmltopdf artifacts find /var/www/ -name "*wkhtmlto*" 2>/dev/null find /usr/local/bin/ -name "*wkhtmlto*" 2>/dev/null docker images | grep wkhtmltopdf # Check if any process is still using it ps aux | grep wkhtmltopdf SHELL IronPDFに移行する主な利点 wkhtmltopdfからIronPdfに移行することで、いくつかの重要な利点が得られます: セキュリティ: CVE-2022-35583 およびすべての wkhtmltopdf の脆弱性が排除されました。 IronPDFには既知のCVEはなく、定期的にセキュリティアップデートが行われます。 最新のレンダリング エンジン:IronPDFは最新の Chromium エンジンを使用し、完全な CSS3、CSS グリッド、Flexbox、および ES6+JavaScriptサポートを保証します。 最新のフレームワークは正しくレンダリングされます。 簡素化された API:ドキュメント構築パターンに代わって直接レンダリング メソッドが採用されています。 組み込みのSaveAs()メソッドにより、手動でのバイト処理が不要になります。 拡張機能: PDF 操作、デジタル署名、PDF/A 準拠、透かし、結合/分割操作は、wkhtmltopdf では提供できない組み込み機能です。 積極的な開発: .NET 10 と C# 14 の採用が 2026 年まで増加するにつれて、IronPDF の定期的な更新により、現在のおよび将来の .NET バージョンとの互換性が確保されます。 非同期サポート:ネイティブの async/await サポートにより、高負荷の Web アプリケーションでのスレッドのブロックを防止します。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター 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#でXFINIUM.PDFからIronPdfへ移行する方法C#でWinnovativeから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レンダリングに切り替えます。グラフィックスプリミティブの置き換えと自動レイアウトのコード例を含みます。 詳しく読む