移行ガイド C#でPDFmyURLからIronPDFへ移行する方法 カーティス・チャウ 公開日:2026年2月1日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る PDFmyURLは、URLとHTMLコンテンツをPDFドキュメントに変換するために設計されたクラウドベースのAPIサービスです。 このサービスでは、すべての変換を外部サーバーで処理するため、ローカルインフラを最小限に抑えた、わかりやすい統合パスを提供します。 しかし、このようなクラウド依存のアーキテクチャは、機密データを扱ったり、オフライン機能を必要としたり、継続的なサブスクリプションコストを回避する必要がある本番アプリケーションにとって、重大な懸念を生じさせます。 このガイドはPDFmyURLからIronPDFへの完全な移行経路を、移行を検討しているプロの.NET開発者のために、ステップバイステップの説明、コード比較、実用的な例とともに提供します。 なぜPDFmyURLから移行するのですか? PDFmyURLのクラウド処理モデルには、開発チームが考慮しなければならないいくつかの課題があります: プライバシーとデータ セキュリティ:変換するすべてのドキュメントはPDFmyURLのサーバーに送信され、サーバーを通過します。機密性の高い契約書、財務レポート、個人データはすべて外部で処理されます。 継続的なサブスクリプション費用:月額39ドルから始まり、所有権なしで年間468ドルを超える費用がかかります。このサブスクリプションモデルは、使用パターンに関係なく継続的な費用がかかります。 インターネット依存性:すべての変換にはネットワーク接続が必要です。 アプリケーションは、オフラインまたはネットワーク停止中にPDFを処理することはできません。 レート制限とスロットリング:ピーク使用時には API 呼び出しがスロットリングされ、アプリケーションのパフォーマンスに影響を及ぼす可能性があります。 サービスの可用性:アプリケーションは、サードパーティのサービスがオンラインで機能していることに依存します。 ベンダー ロックイン: API の変更により、予告なしに統合が中断される可能性があり、事後的なコード更新が必要になります。 IronPDFとPDFmyURLの比較:機能の比較 アーキテクチャの違いを理解することは、技術的な意思決定者が移行への投資を評価するのに役立ちます: アスペクト PDFmyURL IronPDF 加工場所 外部サーバー ローカル(お客様のサーバー) タイプ APIラッパー .NET ライブラリ 認証。 リクエストごとのAPIキー ワンタイムライセンスキー ネットワークが必要です。 すべての変換 初期設定のみ 価格設定モデル 月額サブスクリプション(39ドル以上) 永久ライセンスあり 料金の制限 あり(プランによる) なし データプライバシー 外部送信データ データはローカルのまま HTML/CSS/JSサポート。 W3C準拠 フルChromiumエンジン 非同期パターン 必須(非同期のみ) 同期と非同期のオプション PDF操作 制限的 フルスイート(マージ、分割、編集) ユースケース 少量のアプリケーション 大容量およびエンタープライズ クイックスタートPDFmyURLからIronPdfへの移行 これらの基本的なステップを踏めば、すぐにでも移行を開始できます。 ステップ 1: NuGet パッケージを置き換える PDFmyURLパッケージを削除してください: # RemovePDFmyURLpackages dotnet remove package PdfMyUrl dotnet remove package Pdfcrowd # RemovePDFmyURLpackages dotnet remove package PdfMyUrl dotnet remove package Pdfcrowd SHELL IronPDFをインストールします: # Install IronPDF dotnet add package IronPdf # Install IronPDF dotnet add package IronPdf SHELL ステップ 2: 名前空間の更新 PDFmyURLの名前空間をIronPdfに置き換えてください: // Before: PDFmyURL using PdfMyUrl; using Pdfcrowd; // After: IronPDF using IronPdf; using IronPdf.Rendering; // Before: PDFmyURL using PdfMyUrl; using Pdfcrowd; // After: IronPDF using IronPdf; using IronPdf.Rendering; $vbLabelText $csharpLabel ステップ 3: ライセンスの初期化 アプリケーション起動時のライセンス初期化を追加します: IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; $vbLabelText $csharpLabel コード移行の例 URLをPDFに変換する URLからPDFへの操作はPDFmyURLとIronPDFの基本的なAPIの違いを示します。 PDFmyURLのアプローチ: // InstallPDFmyURLSDK using System; using Pdfcrowd; class Example { static void Main() { try { var client = new HtmlToPdfClient("username", "apikey"); client.convertUrlToFile("https://example.com", "output.pdf"); } catch(Error why) { Console.WriteLine("Error: " + why); } } } // InstallPDFmyURLSDK using System; using Pdfcrowd; class Example { static void Main() { try { var client = new HtmlToPdfClient("username", "apikey"); client.convertUrlToFile("https://example.com", "output.pdf"); } catch(Error why) { Console.WriteLine("Error: " + why); } } } $vbLabelText $csharpLabel IronPDFのアプローチ: // NuGet: Install-Package IronPdf using IronPdf; using System; class Example { static void Main() { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf("https://example.com"); pdf.SaveAs("output.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; using System; class Example { static void Main() { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf("https://example.com"); pdf.SaveAs("output.pdf"); } } $vbLabelText $csharpLabel PDFmyURLは、変換リクエストごとにユーザー名とAPIキーの認証情報を持つHtmlToPdfClientを作成し、URLと出力パスの両方を持つconvertUrlToFile()を呼び出す必要があります。 操作全体は、PDFmyURLのカスタムErrorタイプのtry-catchでラップされなければなりません。 IronPDFはこれを3行に単純化します: ChromePdfRendererを作成し、RenderUrlAsPdf()を呼び出し、組み込みのSaveAs()メソッドを使用します。 ライセンスは、アプリケーションの起動時に一度だけ設定されます。 高度なURL-to-PDFシナリオについては、URL to PDF documentationを参照してください。 HTML文字列をPDFに変換する HTML文字列変換は、パターンの違いを明確に示します。 PDFmyURLのアプローチ: // InstallPDFmyURLSDK using System; using Pdfcrowd; class Example { static void Main() { try { var client = new HtmlToPdfClient("username", "apikey"); string html = "<html><body><h1>Hello World</h1></body></html>"; client.convertStringToFile(html, "output.pdf"); } catch(Error why) { Console.WriteLine("Error: " + why); } } } // InstallPDFmyURLSDK using System; using Pdfcrowd; class Example { static void Main() { try { var client = new HtmlToPdfClient("username", "apikey"); string html = "<html><body><h1>Hello World</h1></body></html>"; client.convertStringToFile(html, "output.pdf"); } catch(Error why) { Console.WriteLine("Error: " + why); } } } $vbLabelText $csharpLabel IronPDFのアプローチ: // NuGet: Install-Package IronPdf using IronPdf; using System; class Example { static void Main() { var renderer = new ChromePdfRenderer(); string 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; class Example { static void Main() { var renderer = new ChromePdfRenderer(); string html = "<html><body><h1>Hello World</h1></body></html>"; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf"); } } $vbLabelText $csharpLabel PDFmyURLはconvertStringToFile()を使い、HTMLコンテンツを外部サーバーに送って処理します。 IronPDFのRenderHtmlAsPdf()はChromiumレンダリングエンジンを使ってすべてをローカルで処理します。 その他のオプションについては、HTMLからPDFへの変換ガイドをご覧ください。 ページ設定による HTML ファイルの変換 用紙サイズ、向き、余白を設定するには、各ライブラリで異なるアプローチが必要です。 PDFmyURLのアプローチ: // InstallPDFmyURLSDK using System; using Pdfcrowd; class Example { static void Main() { try { var client = new HtmlToPdfClient("username", "apikey"); client.setPageSize("A4"); client.setOrientation("landscape"); client.setMarginTop("10mm"); client.convertFileToFile("input.html", "output.pdf"); } catch(Error why) { Console.WriteLine("Error: " + why); } } } // InstallPDFmyURLSDK using System; using Pdfcrowd; class Example { static void Main() { try { var client = new HtmlToPdfClient("username", "apikey"); client.setPageSize("A4"); client.setOrientation("landscape"); client.setMarginTop("10mm"); client.convertFileToFile("input.html", "output.pdf"); } catch(Error why) { Console.WriteLine("Error: " + why); } } } $vbLabelText $csharpLabel IronPDFのアプローチ: // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Rendering; using System; class Example { static void Main() { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape; renderer.RenderingOptions.MarginTop = 10; var pdf = renderer.RenderHtmlFileAsPdf("input.html"); pdf.SaveAs("output.pdf"); } } // NuGet: Install-Package IronPdf using IronPdf; using IronPdf.Rendering; using System; class Example { static void Main() { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape; renderer.RenderingOptions.MarginTop = 10; var pdf = renderer.RenderHtmlFileAsPdf("input.html"); pdf.SaveAs("output.pdf"); } } $vbLabelText $csharpLabel PDFmyURLは、setPageSize("A4")やsetMarginTop("10mm")のような文字列パラメータを持つセッターメソッドを使用します。 IronPDFはPdfPaperSize.A4のような列挙型と、ミリメートル単位の余白のための整数値を持つRenderingOptionsを通して、強く型付けされたプロパティを提供します。 PDFmyURLAPIからIronPDFへのマッピングリファレンス このマッピングは、APIと同等のものを直接示すことで、移行を加速します: コアクラス PDFmyURL IronPDF ノート HtmlToPdfClient ChromePdfRenderer 主な変換クラス PdfMyUrlClient ChromePdfRenderer 代替クライアントクラス APIレスポンスオブジェクト PdfDocument 結果PDFオブジェクト メソッド PDFmyURL IronPDF ノート client.convertUrlToFile(url, file)</code>|renderer.RenderUrlAsPdf(url).SaveAs(file)`。 URLからPDFへ client.convertStringToFile(html, file) renderer.RenderHtmlAsPdf(html).SaveAs(file)。 HTML文字列からPDFへ client.convertFileToFile(入力, 出力)client.convertFileToFile(入力) renderer.RenderHtmlFileAsPdf(input).SaveAs(output). ファイルからファイルへ response.GetBytes()。 pdf.BinaryData` 生のバイトを取得 response.GetStream() pdf.Stream ストリームとして取得 設定オプション PDFmyURL (setXxxメソッド) IronPDF (RenderingOptions) ノート setPageSize("A4")。 .PaperSize = PdfPaperSize.A4. 用紙サイズ setPageSize("文字")。 .PaperSize = PdfPaperSize.Letter. USレター setOrientation("landscape") .PaperOrientation = PdfPaperOrientation.Landscape です。 オリエンテーション setOrientation("ポートレート")。 .PaperOrientation = PdfPaperOrientation.Portrait です。 似顔絵 setMarginTop("10mm")。 .MarginTop = 10. 上マージン (mm) setMarginBottom("10mm")。 .MarginBottom = 10. 下マージン (mm) setMarginLeft("10mm")。 .MarginLeft = 10. 左マージン (mm) setMarginRight("10mm")。 .MarginRight = 10. 右マージン (mm) setHeaderHtml(html)を使用してください。 .HtmlHeader = new HtmlHeaderFooter { HtmlFragment = html }. ヘッダー setFooterHtml(html)のようにします。 .HtmlFooter = new HtmlHeaderFooter { HtmlFragment = html }. フッター setJavascriptDelay(500)とします。 .RenderDelay = 500. JS 待ち時間 (ms) setDisableJavascript(true)とします。 .EnableJavaScript = false. JSを無効にする setUsePrintMedia(true)を設定してください。 .CssMediaType = PdfCssMediaType.Print です。 CSSの印刷 認証の比較 PDFmyURL IronPDF new HtmlToPdfClient("username", "apikey"). IronPdf.License.LicenseKey = "LICENSE-KEY". リクエストごとのAPIキー スタートアップで1回のみ すべての通話に必要 グローバルに1回設定 一般的な移行の問題と解決策 課題 1: API キーとライセンス キーの比較 PDFmyURL:変換リクエストごとに認証情報が必要です。 解決策:アプリケーションの起動時にIronPDFライセンスを一度だけ設定します: // PDFmyURL: API key per request var client = new HtmlToPdfClient("username", "apikey"); // IronPDF: One-time license at startup IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Set once, typically in Program.cs or Startup.cs // PDFmyURL: API key per request var client = new HtmlToPdfClient("username", "apikey"); // IronPDF: One-time license at startup IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Set once, typically in Program.cs or Startup.cs $vbLabelText $csharpLabel 課題2:ヘッダー/フッターのプレースホルダー構文 PDFmyURL:{page_number}と{total_pages}プレースホルダーを使用します。 解決策: IronPDFのプレースホルダー形式に更新する: // PDFmyURL: "Page {page_number} of {total_pages}" // IronPDF: "Page {page} of {total-pages}" // PDFmyURL: "Page {page_number} of {total_pages}" // IronPDF: "Page {page} of {total-pages}" $vbLabelText $csharpLabel 第3号:非同期パターン PDFmyURL:非同期/待機パターンが必要です。 ソリューション: IronPDFはデフォルトで同期です; 必要であれば、asyncをラップしてください: // PDFmyURL: Native async var response = await client.ConvertUrlAsync(url); // IronPDF: Sync by default, wrap for async var pdf = await Task.Run(() => renderer.RenderUrlAsPdf(url)); // PDFmyURL: Native async var response = await client.ConvertUrlAsync(url); // IronPDF: Sync by default, wrap for async var pdf = await Task.Run(() => renderer.RenderUrlAsPdf(url)); $vbLabelText $csharpLabel 課題 4: エラー処理 PDFmyURL:カスタムのPdfcrowd.Error例外タイプを使用しています。 解決策: IronPDF例外のキャッチブロックを更新する: // PDFmyURL: Pdfcrowd.Error catch (Pdfcrowd.Error e) { ... } // IronPDF: Standard exceptions catch (IronPdf.Exceptions.IronPdfRenderingException e) { ... } // PDFmyURL: Pdfcrowd.Error catch (Pdfcrowd.Error e) { ... } // IronPDF: Standard exceptions catch (IronPdf.Exceptions.IronPdfRenderingException e) { ... } $vbLabelText $csharpLabel 第5号:構成パターン PDFmyURL:文字列値を持つセッターメソッドを使用します。 解決策: 強く型付けされたRenderingOptionsプロパティを使用してください: // PDFmyURL: Setter methods client.setPageSize("A4"); client.setOrientation("landscape"); // IronPDF: Properties with enums renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape; // PDFmyURL: Setter methods client.setPageSize("A4"); client.setOrientation("landscape"); // IronPDF: Properties with enums renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape; $vbLabelText $csharpLabel PDFmyURL移行チェックリスト マイグレーション前のタスク コードベースを監査して、すべてのPDFmyURLの使用法を特定してください: # FindPDFmyURLusage grep -r "PdfMyUrl\|Pdfcrowd\|HtmlToPdfClient" --include="*.cs" . # Find API key references grep -r "apikey\|api-key\|api_key" --include="*.cs" --include="*.json" --include="*.config" . # Find placeholder patterns to migrate grep -r "{page_number}\|{total_pages}" --include="*.cs" . # FindPDFmyURLusage grep -r "PdfMyUrl\|Pdfcrowd\|HtmlToPdfClient" --include="*.cs" . # Find API key references grep -r "apikey\|api-key\|api_key" --include="*.cs" --include="*.json" --include="*.config" . # Find placeholder patterns to migrate grep -r "{page_number}\|{total_pages}" --include="*.cs" . SHELL 現在使用されている設定オプションを文書化すること。 環境変数を使用してライセンスキーの保存を計画する。 コード更新タスク 1.PDFmyURL/Pdfcrowd NuGetパッケージの削除 2.IronPdf NuGetパッケージをインストールする 3.すべての名前空間インポートの更新 4.APIキー認証をIronPDFライセンスキーに置き換える 5.セッターメソッドをRenderingOptionsプロパティに変換する 6.ヘッダ/フッタのプレースホルダ構文を更新 ({page_number} → {page}, {total_pages} → {total-pages}) 7.IronPDF例外タイプのエラー処理コードの更新 8.起動時にIronPDFライセンスの初期化を追加する 移行後のテスト 移行後、これらの点を検証してください: PDF出力の品質が期待に沿うかテスト 非同期パターンが正しく動作することを確認する レンダリングの忠実度を以前の出力と比較する すべてのテンプレートバリエーションが正しくレンダリングされることをテストする ページ設定の検証(サイズ、向き、余白) Linuxサーバーにデプロイする場合は、Linuxの依存関係をインストールしてください。 IronPDFに移行する主な利点 PDFmyURLからIronPDFに移行することで、いくつかの重要な利点が得られます: 完全なプライバシー:ドキュメントはサーバーから外部に漏れることはありません。 すべての処理はローカルで行われるため、機密性の高いコンテンツに対するデータセキュリティの懸念はありません。 一度限りのコスト:永久ライセンス オプションにより、定期的なサブスクリプション料金が不要になります。 使用量に関係なく、毎月の支払いはもう必要ありません。 オフライン機能:初期設定後はインターネットに接続しなくても動作します。ネットワークが切断されてもPDF生成には影響しません。 レート制限なし:スロットルを気にすることなく、無制限のドキュメントを処理できます。 低レイテンシ:ネットワーク オーバーヘッドがないため、特に大容量アプリケーションの場合、変換が高速になります。 完全な制御:サードパーティのサービスではなく、処理環境を制御します。 最新の Chromium エンジン: Chrome ブラウザと同じレンダリング エンジンで、CSS3 と JavaScript を完全にサポートします。 積極的な開発: .NET 10 と C# 14 の採用が 2026 年まで増加するにつれて、IronPDF の定期的な更新により、現在のおよび将来の .NET バージョンとの互換性が確保されます。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター 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#でTallComponentsからIronPDFに移行する方法C#でSyncfusion PDFから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レンダリングに切り替えます。グラフィックスプリミティブの置き換えと自動レイアウトのコード例を含みます。 詳しく読む