移行ガイド C#でPDFBoltからIronPDFへ移行する方法 カーティス・チャウ 公開日:2026年1月25日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る PDFBoltからIronPDFへの移行は、あなたの.NET PDFワークフローを、外部ドキュメント処理によるクラウドオンリーのSaaSサービスから、完全なデータプライバシーと無制限のローカル生成によるセルフホストライブラリに移行します。 このガイドは、PDFBoltが提供できないPDF操作機能へのアクセスを得ながら、ネットワーク依存、使用制限、外部データ転送を排除する、包括的でステップバイステップの移行パスを提供します。 なぜPDFBoltからIronPDFへ移行するのか クラウドのみの問題 PDFBoltは、外部サーバーでドキュメントを処理するクラウド専用のSaaSプラットフォームです。 迅速なプロトタイプには便利ですが、このアーキテクチャーは本番アプリケーションには大きな課題をもたらします: 1.クラウドのみの処理:すべてのドキュメントは外部サーバーを経由します。セルフホストのオプションは利用できないため、データとプロセスをより細かく制御する必要がある企業の妨げになる可能性があります。 2.データ プライバシーのリスク:機密文書 (契約書、医療記録、財務データ) を外部に送信する必要があります。 機密情報を扱う企業には、正当な懸念があります。 3.使用制限:無料利用枠は 1 か月あたり 100 ドキュメントまでに制限されており、大規模な企業には不十分な可能性があります。 本番作業では、ドキュメントごとに料金を支払う必要があります。 4.ネットワーク依存性:インターネットの停止やPDFBoltのダウンタイムが発生すると、PDF の生成が完全に停止します。 5.レイテンシ:ネットワークの往復により、ローカル処理と比較して、すべての変換に数秒が追加されます。 6.コンプライアンスの問題: GDPR、HIPAA、SOC2 監査は、外部の文書処理によって複雑になります。 API キーのセキュリティ:漏洩した API キーにより、不正使用による料金がアカウントに請求される可能性があります。 8.ベンダー ロックイン:PDFBoltが利用規約を変更したり、サービスを停止したりした場合、アプリケーションは失敗します。 PDFBoltとIronPDFの比較 懸念事項 PDFBolt IronPDF データロケーション 外部サーバー サーバーのみ 使用制限 100ドル(無料)、その後1ドキュメントあたり 無制限 インターネットが必要です。 はい、常に なし レイテンシーについて ネットワーク往復 ミリ秒 コンプライアンス。 複雑(外部処理) シンプル(ローカル処理) コストモデル ドキュメント単位 単発または年間 オフライン操作。 不可能 完全サポート APIの主なリスク リーク = 課金 ライセンスキー、課金リスクなし 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 PDFBolt dotnet remove package PDFBolt # Install IronPDF dotnet add package IronPdf # Remove PDFBolt dotnet remove package PDFBolt # 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 PDFBoltの使い方を特定する # Find allPDFBoltreferences grep -r "PDFBolt\|HtmlToPdfConverter\|ConvertHtmlString\|ConvertUrl" --include="*.cs" . # Find API key references grep -r "PDFBOLT\|ApiKey" --include="*.cs" --include="*.json" --include="*.config" . # Find allPDFBoltreferences grep -r "PDFBolt\|HtmlToPdfConverter\|ConvertHtmlString\|ConvertUrl" --include="*.cs" . # Find API key references grep -r "PDFBOLT\|ApiKey" --include="*.cs" --include="*.json" --include="*.config" . SHELL 完全な API リファレンス コア クラス マッピング PDFBolt IronPDF ノート new HtmlToPdfConverter(). new ChromePdfRenderer(). メインレンダラー ページサイズ PdfPaperSize 用紙サイズの列挙 (byte[]を返す) PdfDocument リッチドキュメントオブジェクト 変換メソッドのマッピング PDFBolt IronPDF ノート converter.ConvertHtmlString(html). renderer.RenderHtmlAsPdf(html). PdfDocument を返します。 converter.ConvertUrl(url). renderer.RenderUrlAsPdf(url)のようにします。 PdfDocument を返します。 出力メソッドのマッピング PDFBolt IronPDF ノート File.WriteAllBytes(path, pdf). pdf.SaveAs(path)のようにします。 直接保存方式 (pdfはbyte[]です)。 pdf.BinaryData バイト配列を取得 (マニュアルの流れ) pdf.Stream ストリームプロパティ ページ構成マッピング PDFBolt IronPDF ノート converter.PageSize = PageSize.A4. renderer.RenderingOptions.PaperSize=PdfPaperSize.A4。 用紙サイズ列挙 converter.MarginTop = 20. `renderer.RenderingOptions.MarginTop = 20. 単位:ミリメートル converter.MarginBottom = 20. `renderer.RenderingOptions.MarginBottom = 20. 単位:ミリメートル converter.MarginLeft = 15. renderer.RenderingOptions.MarginLeft = 15. 単位:ミリメートル converter.MarginRight = 15. renderer.RenderingOptions.MarginRight = 15. 単位:ミリメートル ヘッダー/フッター プレースホルダー マッピング PDFBolt IronPDF ノート {ページ番号}|{ページ}` 現在のページ {totalPages}</code>|<code>{総ページ数} 総ページ数 `{date} {date} 同じ {タイトル}` {html-title} 文書タイトル コード移行の例 例1: 基本的なHTMLからPDFへ 翻訳前 (PDFBolt): // NuGet: Install-Package PDFBolt using PDFBolt; 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 PDFBolt using PDFBolt; 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; using System.IO; 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; using System.IO; 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 ここでの基本的な違いは、戻り値の型と保存パターンです。 PDFBoltのHtmlToPdfConverter.ConvertHtmlString()はbyte[]を返しますが、File.WriteAllBytes()を使って手動でディスクに書き込む必要があります。 そのためには、System.IOをインポートし、ファイル操作を自分で処理する必要があります。 IronPDFのChromePdfRenderer.RenderHtmlAsPdf()は組み込みのSaveAs()メソッドを持つPdfDocumentオブジェクトを返します。 このオブジェクト指向のアプローチは、保存する前にPDFを操作(透かしを追加したり、文書をマージしたり、セキュリティを追加したり)できるという、さらなる利点を提供します。 既存のコードとの互換性のために生のバイトが必要な場合は、pdf.BinaryDataを使用してください。 その他のレンダリングオプションについては、HTML to PDF documentationを参照してください。 例2: URLからPDFへの変換 翻訳前 (PDFBolt): // NuGet: Install-Package PDFBolt using PDFBolt; using System.IO; class Program { static void Main() { var converter = new HtmlToPdfConverter(); var pdf = converter.ConvertUrl("https://www.example.com"); File.WriteAllBytes("webpage.pdf", pdf); } } // NuGet: Install-Package PDFBolt using PDFBolt; using System.IO; class Program { static void Main() { var converter = new HtmlToPdfConverter(); var pdf = converter.ConvertUrl("https://www.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://www.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://www.example.com"); pdf.SaveAs("webpage.pdf"); } } $vbLabelText $csharpLabel URL変換のためのPDFBoltパターンは、HTML変換と同じアプローチに従います:ConvertUrl()はbyte[]を返し、保存にはFile.WriteAllBytes()が必要です。 PDFBoltは、すでにURLから取得しているにもかかわらず、サーバーへのネットワークラウンドトリップが必要であることに注意してください。 IronPDFのRenderUrlAsPdf()メソッドは組み込みのSaveAs()メソッドでPdfDocumentを返します。 ここでの重要な利点は、IronPdfがURLフェッチとPDFレンダリングをローカルで行うことです。 IronPDFバージョンはこの単純なケースのためにusing System.IO;を必要としないことに注目してください。 URLからPDFへの変換の詳細については、こちらをご覧ください。 例3: カスタムページ設定のHTMLファイル 翻訳前 (PDFBolt): // NuGet: Install-Package PDFBolt using PDFBolt; using System.IO; class Program { static void Main() { var converter = new HtmlToPdfConverter(); converter.PageSize = PageSize.A4; converter.MarginTop = 20; converter.MarginBottom = 20; var html = File.ReadAllText("input.html"); var pdf = converter.ConvertHtmlString(html); File.WriteAllBytes("output.pdf", pdf); } } // NuGet: Install-Package PDFBolt using PDFBolt; using System.IO; class Program { static void Main() { var converter = new HtmlToPdfConverter(); converter.PageSize = PageSize.A4; converter.MarginTop = 20; converter.MarginBottom = 20; var html = File.ReadAllText("input.html"); var pdf = converter.ConvertHtmlString(html); File.WriteAllBytes("output.pdf", pdf); } } $vbLabelText $csharpLabel 翻訳後(IronPDF):。 // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Rendering; using System.IO; class Program { static void Main() { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 20; renderer.RenderingOptions.MarginBottom = 20; var html = File.ReadAllText("input.html"); var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Rendering; using System.IO; class Program { static void Main() { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 20; renderer.RenderingOptions.MarginBottom = 20; var html = File.ReadAllText("input.html"); var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); } } $vbLabelText $csharpLabel この例は、ページ構成の違いを示しています。 PDFBoltは、コンバーターオブジェクトに直接プロパティを設定します(converter.PageSize, converter.MarginTop)。 IronPDFはレンダラー上でRenderingOptionsオブジェクトを使用します(renderer.RenderingOptions.PaperSize, renderer.RenderingOptions.MarginTop)。 主なマッピング PageSize.A4 → PdfPaperSize.A4 (異なる列挙名) MarginTop = 20 → RenderingOptions.MarginTop = 20 (RenderingOptions 経由) どちらもマージン値にはミリメートルを使用しているため、既存のマージン値をそのまま転送する必要があります。 PdfPaperSize列挙型にアクセスするには、IronPdf.Rendering名前空間が必要です。 その他のページ設定オプションについては、rendering options documentationを参照してください。 重要な移行に関する注意事項 返品タイプの変更 PDFBoltはbyte[]を直接返します; IronPDFはPdfDocumentを返します: //PDFBoltpattern: byte[] pdf = converter.ConvertHtmlString(html); File.WriteAllBytes("output.pdf", pdf); //IronPDFpattern: var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); // Or if you need bytes: byte[] pdfBytes = renderer.RenderHtmlAsPdf(html).BinaryData; //PDFBoltpattern: byte[] pdf = converter.ConvertHtmlString(html); File.WriteAllBytes("output.pdf", pdf); //IronPDFpattern: var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); // Or if you need bytes: byte[] pdfBytes = renderer.RenderHtmlAsPdf(html).BinaryData; $vbLabelText $csharpLabel クラス名の変更 主なクラス名は、コンバーターに焦点を当てたものからレンダラーに焦点を当てたものに変わります: // PDFBolt var converter = new HtmlToPdfConverter(); // IronPDF var renderer = new ChromePdfRenderer(); // PDFBolt var converter = new HtmlToPdfConverter(); // IronPDF var renderer = new ChromePdfRenderer(); $vbLabelText $csharpLabel 構成パターンの変更 PDFBoltはダイレクトプロパティを使用しています; IronPDFはRenderingOptionsを使用します: // PDFBolt: Direct properties converter.PageSize = PageSize.A4; converter.MarginTop = 20; // IronPDF: Via RenderingOptions renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 20; // PDFBolt: Direct properties converter.PageSize = PageSize.A4; converter.MarginTop = 20; // IronPDF: Via RenderingOptions renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 20; $vbLabelText $csharpLabel APIキー消去 PDFBoltでは、リクエストごとのAPIキー管理が必要です; IronPDFは1回限りのライセンスキーを使用します: // PDFBolt: API key per client (security risk if leaked) var apiKey = config["PDFBolt:ApiKey"]; var client = new Client(apiKey); // IronPDF: License key once at startup IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; var renderer = new ChromePdfRenderer(); // PDFBolt: API key per client (security risk if leaked) var apiKey = config["PDFBolt:ApiKey"]; var client = new Client(apiKey); // IronPDF: License key once at startup IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; var renderer = new ChromePdfRenderer(); $vbLabelText $csharpLabel ネットワーク エラー処理の削除 ローカル処理のため、ネットワークエラーが発生しません: // PDFBolt: Network error handling required catch (HttpRequestException ex) catch (TaskCanceledException) catch (TimeoutException) // IronPDF: Remove network-specific catches entirely // PDFBolt: Network error handling required catch (HttpRequestException ex) catch (TaskCanceledException) catch (TimeoutException) // IronPDF: Remove network-specific catches entirely $vbLabelText $csharpLabel 新しい機能が利用可能です IronPDFに移行すると、PDFBoltでは提供できない機能を得ることができます: // PDF Merging (not available in PDFBolt) var merged = PdfDocument.Merge(pdf1, pdf2); // Watermarks (not available in PDFBolt) pdf.ApplyWatermark("<h1 style='opacity:0.3;'>DRAFT</h1>"); // Password Protection (not available in PDFBolt) pdf.SecuritySettings.UserPassword = "secret"; // Text Extraction (not available in PDFBolt) string text = pdf.ExtractAllText(); // PDF to Images (not available in PDFBolt) pdf.RasterizeToImageFiles("page_*.png"); // PDF Merging (not available in PDFBolt) var merged = PdfDocument.Merge(pdf1, pdf2); // Watermarks (not available in PDFBolt) pdf.ApplyWatermark("<h1 style='opacity:0.3;'>DRAFT</h1>"); // Password Protection (not available in PDFBolt) pdf.SecuritySettings.UserPassword = "secret"; // Text Extraction (not available in PDFBolt) string text = pdf.ExtractAllText(); // PDF to Images (not available in PDFBolt) pdf.RasterizeToImageFiles("page_*.png"); $vbLabelText $csharpLabel トラブルシューティング 問題 1: HtmlToPdfConverter が見つかりません 問題:IronPDFにHtmlToPdfConverterクラスが存在しません。 解決策: ChromePdfRendererを使用する: // PDFBolt var converter = new HtmlToPdfConverter(); // IronPDF var renderer = new ChromePdfRenderer(); // PDFBolt var converter = new HtmlToPdfConverter(); // IronPDF var renderer = new ChromePdfRenderer(); $vbLabelText $csharpLabel 問題 2: ConvertHtmlString が見つかりません 問題: ConvertHtmlString()メソッドが存在しません。 解決策: RenderHtmlAsPdf()を使用します。 // PDFBolt var pdf = converter.ConvertHtmlString(html); // IronPDF var pdf = renderer.RenderHtmlAsPdf(html); // PDFBolt var pdf = converter.ConvertHtmlString(html); // IronPDF var pdf = renderer.RenderHtmlAsPdf(html); $vbLabelText $csharpLabel 課題3:ConvertUrlが見つかりません 問題: ConvertUrl()メソッドが存在しません。 解決策: RenderUrlAsPdf()を使用します。 // PDFBolt var pdf = converter.ConvertUrl(url); // IronPDF var pdf = renderer.RenderUrlAsPdf(url); // PDFBolt var pdf = converter.ConvertUrl(url); // IronPDF var pdf = renderer.RenderUrlAsPdf(url); $vbLabelText $csharpLabel 問題 4: PageSize Enum が見つかりません. 問題: PageSize列挙型が存在しません。 解決策: IronPdf.RenderingのPdfPaperSizeを使用します。 // PDFBolt converter.PageSize = PageSize.A4; // IronPDF using IronPdf.Rendering; renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; // PDFBolt converter.PageSize = PageSize.A4; // IronPDF using IronPdf.Rendering; renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; $vbLabelText $csharpLabel 課題5:最初のPDF生成が遅い 問題:初期レンダリングに予想よりも時間がかかります。 解決策: Chromium エンジンは初回使用時に初期化されます。 必要に応じて、事前にウォームアップしてください: // Warm up during application startup var renderer = new ChromePdfRenderer(); renderer.RenderHtmlAsPdf("<html><body></body></html>"); // Warm up during application startup var renderer = new ChromePdfRenderer(); renderer.RenderHtmlAsPdf("<html><body></body></html>"); $vbLabelText $csharpLabel 移行チェックリスト 移行前 コードベース内のすべてのPDFBoltの使用状況をインベントリする 現在のページ構成設定(ページサイズ、余白)を文書化する 削除するAPIキー管理コードを特定する 削除するレート制限またはネットワークエラー処理をリストします IronPDFライセンスキーを取得する パッケージの変更 PDFBolt NuGet パッケージを削除する IronPdf NuGet パッケージをインストールします: dotnet add package IronPdf using IronPdf;名前空間を追加 用紙サイズの列挙型にusing IronPdf.Rendering;を追加します コードの変更 起動時にライセンスキー設定を追加する HtmlToPdfConverter ChromePdfRendererに置き換える ConvertHtmlString()をRenderHtmlAsPdf()に置き換えます ConvertUrl()をRenderUrlAsPdf()に置き換えます File.WriteAllBytes()をpdf.SaveAs()に置き換えます -ページサイズ`RenderingOptions.PaperSizeに更新します マージン プロパティをRenderingOptions.MarginTopなどに更新します。 APIキー管理コードを削除する レート制限処理コードを削除 ネットワークエラー処理を削除 移行後 設定ファイルからAPIキーを削除する シークレットマネージャーからAPIキーを削除する 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#でPDF DuoからIronPDFに移行する方法C#でNutrient.ioから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レンダリングに切り替えます。グラフィックスプリミティブの置き換えと自動レイアウトのコード例を含みます。 詳しく読む