製品比較 IronPDF対ExpertPDF: シニア.NET開発者が選ぶべきC# PDFライブラリはどれか? カーティス・チャウ 更新日:2026年1月25日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る IronPDF は、Chrome V8 エンジンの精度と直感的な API により HTML から PDF への変換に優れています。一方、ExpertPDF は、 .NET実稼働システム向けのより複雑な構成要件を備えた基本的な PDF 機能を提供します。 C# 開発者は、PDF の読み取り、書き込み、作成、形式間の変換など、PDF の処理時に課題に直面することがよくあります。 こうしたニーズに対応するために、C# アプリケーションのスムーズな統合を実現するライブラリが数多く登場しています。 C# PDF レポートを開発する場合、適切なライブラリを選択すると、開発時間と出力品質に大きな影響が出ます。 C# で完全な PDF を生成するには、ライブラリの機能を理解することが不可欠です。 この記事では、 .NET開発者向けの 2 つの PDF ライブラリを比較します。 -IronPDF ExpertPDF どちらのライブラリも、 .NET環境で PDF を生成、変換、編集するためのメソッドを提供します。 重要な考慮事項は、特定のプロジェクト要件に最適なライブラリを決定することです。 この分析では、意思決定に役立つ重要な特徴が強調されています。 HTML から PDF への変換、 PDF 編集機能、ドキュメント整理機能を実装する場合でも、適切なライブラリを選択することが重要です。 IronPDFライブラリとは何ですか? IronPDF は、特に C# 開発者にとって有益な完全な.NET PDF ソリューションを提供します。 このライブラリを使用すると、C# アプリケーション内で必要なすべてのPDF 機能を実装できます。 このライブラリは、 Azure デプロイメントとAWS Lambdaをサポートしており、クラウドネイティブ アーキテクチャに適しています。 開発者は、優れたWindows サポート、 Linux 展開、およびmacOS 互換性の恩恵を受けることができます。 インストールの概要では、完全なセットアップ ガイダンスが提供されます。 IronPDFは、HTMLコンテンツをPDFに変換する.NET Chromiumエンジンを搭載しており、複雑なAPIを必要とせずにドキュメントデザインを簡素化します。HTMLからPDFへのコンバーターは、 HTML5、CSS、 JavaScript、画像を使用してドキュメントを作成します。 さらに、開発者はPDF を編集したり、ヘッダーとフッターを追加したり、画像を抽出したりすることもできます。 このライブラリは、信頼性の高いテキスト抽出機能を通じてテキストの読み取りを簡素化します。 実稼働環境では、 Chrome レンダリング エンジンにより正確なレンダリングが保証されます。 IronPDFの主な機能は何ですか? HTML から PDF ファイルを作成するにはどうすればよいですか? HTML、CSS、 JavaScriptから PDF を作成する -ウェブサイトのURLからドキュメントを生成する -資格情報とHTTPヘッダーを含むURLを読み込む -レスポンシブなCSSとメディアタイプをサポート -レンダリング遅延を伴う完全なJavaScript実行 Adobe Acrobat Reader を使わずに PDF を編集するにはどうすればいいですか? PDFフォームに記入して読む -解析によるテキストと画像の抽出 既存のページにHTMLコンテンツをスタンプする HTMLヘッダー/フッターまたはテキストベースのヘッダーを追加する -注釈とデジタル署名を追加する PDF ドキュメントを操作するにはどうすればよいですか? -メモリストリームからの読み込みと解析 ドキュメントの内容を結合および分割する -透かし、背景、テキスト、アセットを追加する -ページ回転機能を使ってPDFページを管理する -変換を適用し、 DOMオブジェクトを操作する どのようなファイル形式を PDF に変換できますか? 最小限のコードでASPX Webフォームを変換 HTMLファイルとHTML ZIPアーカイブを変換する -画像をPDFに変換(PNG、JPG、GIF、TIFF) フォーマットサポート付きのMarkdownからPDFへ DOCX から PDF へ、 XML から PDF へ PDF を保存して印刷するにはどうすればよいですか? -バイナリデータまたはMemoryStreamsとして保存 CSSメディアタイプを印刷する PDFを印刷文書オブジェクトに変換する PDF/A準拠とPDF/UAアクセシビリティをサポート -異なるPDFバージョンと線形化されたPDFをエクスポート ExpertPDFとは何ですか? HTML から PDF への変換機能を提供する.NETライブラリを調べるには、 ExpertPDF の公式サイトにアクセスしてください。 このライブラリを使用すると、複雑なレポート ソフトウェアを使用せずに PDF レポートを生成できます。 完全なドキュメントとAPI リファレンスを求めている開発者は、リソースの可用性を大幅に高めるために、ExpertPDF ではなくIronPDF の使用を検討してください。 ExpertPDF は、簡単な PDF 編集機能を提供します。 HTML から PDF へのコンバーターは、 .NETアプリケーションにすぐに統合されます。 .NET Framework、 .NET Core、 .NET 5、 .NET 6 と互換性がありますが、 Linux 展開とmacOS のサポートはありません。 コンテナ化されたデプロイメントの場合、 IronPDF はDocker サポートを提供しますが、ExpertPDF は提供しません。 IronPDF は、リモート コンテナーのデプロイメントとネイティブ エンジンとリモート エンジンのオプションもサポートします。 このライブラリは、 .NETアプリケーション内の Web ページの URL または生の HTML マークアップから PDF を作成します。 WebGL サイトやJavaScript を多用するアプリケーションのレンダリングなどの高度なシナリオでは、 IronPDF は優れたレンダリング機能を提供します。 クイックスタート ガイドは、開発者がすぐに作業を開始するのに役立ちます。 ExpertPDF の主な機能は何ですか? 注目すべき機能は次のとおりです。 URLウェブページをPDFに変換する HTML文字列をPDFに変換する 複数の出力ファイルオプション ページの余白とサイズの設定 ヘッダーとフッターの設定 自動およびカスタムのページ分割を追加する 特定のウェブページ部分をPDFに変換 変換中に要素を非表示にする 複数のウェブページを1つのPDFに結合 認証されたウェブページをPDFに変換する レンダリング用のCSSメディアタイプを選択 ブックマークのサポート デジタル署名サポート PDF内のHTML要素の位置を取得する HTML5/CSS3のサポート ウェブフォントのサポート ファイル形式の変換: PDFからテキストへのコンバーター HTMLからPDFへのコンバーター HTMLから画像へのコンバーター PDFから画像へのコンバーター RTFからPDFへのコンバーター 次のセクションでは、次の内容について説明します。 コンソールプロジェクトを作成する IronPDFのインストール ExpertPDFのインストール URLからPDFを作成する HTML入力文字列からPDFを作成する 複数のPDFを1つのPDFに結合する 画像をPDFに変換する ライセンスと価格設定 結論 コンソール プロジェクトを作成するにはどうすればよいですか? Visual Studio 2022 を使用してコンソール アプリケーションを作成するには、次の手順に従います。 Visual Studio 2022を開き、新しいプロジェクトを作成します C#コンソールアプリを選択し、次へをクリックします プロジェクト名を入力し、[次へ]をクリックします。 .NET Frameworkのバージョンを選択します(最新の6.0を使用) コンソール プロジェクトが作成され、ライブラリ テストの準備が整いました。 どちらのライブラリも、使用する前にインストールする必要があります。 詳細については、クイックスタート ガイドを参照してください。 概要ドキュメントに完全な情報が提供されています。 どのようにIronPDFをインストールしますか? 複数のインストール方法があります: Visual Studioを使用 NuGet パッケージを直接ダウンロードします IronPDF .DLLライブラリをダウンロードする 詳細については、インストールの概要を参照してください。 ライブラリは、システム全体に展開するためのWindows インストーラーをサポートしています。 詳細オプションには、 NuGet のインストールとライセンス キーの使用が含まれます。 Visual Studio を使用してインストールするにはどうすればよいですか? Visual Studio には、パッケージをインストールするためのNuGetパッケージ マネージャーが用意されています。 プロジェクトメニューツールからアクセスするか、 ソリューションエクスプローラーでプロジェクトを右クリックします IronPDF NuGetパッケージを参照してインストールします。 詳細については、 NuGetインストール ガイドを参照してください。 プラットフォーム固有のガイドには、 Android 統合、 F# 開発、 VB .NETの使用が含まれます。 デプロイのトラブルシューティングについては、 "NuGetパッケージのデプロイに失敗したガイド"を参照してください。 NuGetパッケージを直接ダウンロードするにはどうすればよいですか? NuGet Web サイトからIronPDFをダウンロードします。 NuGet IronPDFパッケージを参照 "パッケージをダウンロード"を選択 ダウンロードしたパッケージをダブルクリック パッケージは自動的にインストールされます Visual Studio をリロードします IronPDF DLL をダウンロードしてインストールするにはどうすればよいですか? IronPDF .DLL をIronPDF Web サイトから直接ダウンロードします。 IronPDF DLLのダウンロードをクリックします。 プロジェクト内のIronPDFを参照: ソリューションエクスプローラーでソリューションを右クリック OKをクリックすると完了です! IronPDF.dll ライブラリを参照します "OK"をクリック IronPDFのインストールが完了しました。 Docker デプロイメントやリモート エンジン セットアップなどの追加オプションについては、インストールの概要を参照してください。 トラブルシューティングについては、クイック トラブルシューティング ガイドを参照するか、初期レンダリング パフォーマンスとGPU プロセスの最適化を調べてください。 ランタイム フォルダー ガイドは依存関係の管理に役立ちます。 ExpertPDF をインストールするにはどうすればよいですか? インストール方法は 2 つあります。 Visual Studio NuGetパッケージ マネージャーの使用 アセンブリのダウンロード(古い.NETバージョン) 最新 for .NETフレームワーク用のNuGetパッケージ マネージャーを使用して ExpertPDF をインストールします。 高度なインストール方法とパッケージ サイズの最適化により、柔軟性が大幅に向上するため、ExpertPDF の代わりにIronPDF の使用を検討してください。 Visual Studio NuGetパッケージ マネージャーを使用してインストールするにはどうすればよいですか? NuGetパッケージ マネージャーにアクセスします。 プロジェクトメニュー ツール ソリューションエクスプローラーでプロジェクトを右クリック ExpertPDF NuGetパッケージを参照してインストールします。 セットアップを改善するには、 IronPDF の使用宣言ガイドを検討してください。 注意: ExpertPDF は Windows のみをサポートしますが、 IronPDF はWindows 、 Linux 、 macOSをサポートします。 クラウド展開の場合、 IronPDF はAzure 統合とAWS Lambda サポートを提供します。 IronPDF は、完全なパフォーマンス最適化とメモリ管理ガイダンスを提供します。 具体的なプラットフォームについては、 Red Hat Enterprise Linux のサポートとAmazon Linux 2 上の AWS Lambdaを参照してください。 URL から PDF を作成するにはどうすればいいですか? どちらのライブラリも HTML を PDF に変換します。 詳細については、 URL から PDF ガイドを参照してください。 複雑な Web サイトでは、カスタムのレンダリング遅延やJavaScript実行処理が必要になる場合があります。 認証されたサイトについては、 TLS Web サイトおよびシステム ログイン ガイドを参照してください。 IronPDF は、Chrome レンダリングを使用したピクセルパーフェクトな HTML から PDF への変換に優れています。 IronPDF はどのようにして URL を PDF に変換するのでしょうか? IronPDF はURL からの HTML を効率的に PDF としてレンダリングします。 このライブラリは、 CSS 、 JavaScript 、画像、およびフォームに対して高度なサポートを提供します。 Chrome レンダリング エンジンを使用すると、ピクセル単位で完璧な HTML から PDF への変換が保証されます。 レンダリングの問題については、ピクセルパーフェクト HTML フォーマット ガイドを参照してください。 高度なレンダリング オプションには、カスタム用紙サイズとビューポート構成が含まれます。 JavaScriptメッセージ リスナーにより、動的なコンテンツの処理が可能になります。 このコード例は、 IronPDF を使用して開発者が Web サイトの URL から PDF を作成する方法を示しています。 // Import the IronPdf library using IronPdf; // Initialize a new renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the specified URL as a PDF var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_190___"); // Save the rendered PDF to a file pdf.SaveAs("url.pdf"); // Import the IronPdf library using IronPdf; // Initialize a new renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the specified URL as a PDF var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_190___"); // Save the rendered PDF to a file pdf.SaveAs("url.pdf"); $vbLabelText $csharpLabel 認証された URL については、 TLS Web サイトおよびシステム ログイン ガイドを参照してください。 認証されたリクエストのCookieとカスタム HTTP ヘッダーを構成します。 安全なサイトではKerberos認証が必要になる場合があります。 デバッグの場合は、 Chrome デバッグ ガイドを使用してください。 追加の例では、URL を PDF に変換する方法を示します。 ExpertPDF はどのようにして URL を PDF に変換するのでしょうか? ExpertPDF は、ページの書式を保持しながら、savePdfFromUrlToFile メソッドを使用して URL を変換します。 // Import the ExpertPdf.HtmlToPdf namespace using ExpertPdf.HtmlToPdf; // Initialize a new PdfConverter PdfConverter pdfConverter = new PdfConverter(); // Use PdfConverter to save a webpage URL directly to a PDF file pdfConverter.SavePdfFromUrlToFile("___PROTECTED_URL_191___", "output.pdf"); // Import the ExpertPdf.HtmlToPdf namespace using ExpertPdf.HtmlToPdf; // Initialize a new PdfConverter PdfConverter pdfConverter = new PdfConverter(); // Use PdfConverter to save a webpage URL directly to a PDF file pdfConverter.SavePdfFromUrlToFile("___PROTECTED_URL_191___", "output.pdf"); $vbLabelText $csharpLabel 舞台裏では、 IronPDF はChrome レンダリング エンジンを使用して、より優れたHTML5 および CSS3 サポートを提供します。 HTML 入力文字列から PDF を作成するにはどうすればよいですか? どちらのライブラリも HTML 文字列から PDF を作成します。 詳細については、 HTML 文字列を PDF に変換するガイドを参照してください。 画面と印刷に CSSを使用し、 Web フォントとアイコン フォントを組み込みます。 IronPDF は優れたBootstrap および Flexbox CSSサポートを提供します。 HTML を使用して PDF を作成する例では、実用的な実装を示します。 IronPDF はどのようにして HTML 文字列を PDF に変換するのでしょうか? このコード例は、 IronPDF を使用して開発者が HTML 文字列から PDF ドキュメントを生成する方法を示しています。 // Import the IronPdf library using IronPdf; // Initialize a new renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render a PDF from HTML string and save it var pdfDoc1 = renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>"); pdfDoc1.SaveAs("pixel-perfect.pdf"); // Render HTML with external assets and save it var pdfDoc2 = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\"); pdfDoc2.SaveAs("html-with-assets.pdf"); // Import the IronPdf library using IronPdf; // Initialize a new renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render a PDF from HTML string and save it var pdfDoc1 = renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>"); pdfDoc1.SaveAs("pixel-perfect.pdf"); // Render HTML with external assets and save it var pdfDoc2 = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\"); pdfDoc2.SaveAs("html-with-assets.pdf"); $vbLabelText $csharpLabel IronPDF は、相対パスのベース URLと画像の埋め込み用のDataURIをサポートしています。 複雑な HTML については、 HTML ファイルから PDF へのガイドを参照してください。 特定のビューポートについては、ビューポートとズームの設定ガイドを参照してください。ライブラリは国際言語とUTF-8をシームレスに処理します。 高度な機能には、HTML レンダリング設定やレスポンシブ HTML から PDF への変換が含まれます。 ExpertPDF はどのようにして HTML 文字列を PDF に変換するのでしょうか? ExpertPDF HTML から PDF へのコンバーターは HTML 文字列の変換をサポートします。 // Import the ExpertPdf.HtmlToPdf namespace using ExpertPdf.HtmlToPdf; // Initialize a new PdfConverter PdfConverter pdfConverter = new PdfConverter(); // Use PdfConverter to save an HTML string to a PDF file pdfConverter.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf"); // Import the ExpertPdf.HtmlToPdf namespace using ExpertPdf.HtmlToPdf; // Initialize a new PdfConverter PdfConverter pdfConverter = new PdfConverter(); // Use PdfConverter to save an HTML string to a PDF file pdfConverter.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf"); $vbLabelText $csharpLabel 最初の引数は HTML 文字列を指定し、2 番目の引数は出力ファイル名を指定します。 より広範な国際言語サポートのために、基本的な HTML レンダリングの代わりに IronPDF のUnicode および UTF-8 サポートを使用することを検討してください。 技術ドキュメントの PDF を生成するにはどうすればよいですか? 技術ドキュメントでは、コード例を含む構造化されたレイアウトが役立ちます。 この Bootstrap 5 のデモでは、構文の強調表示とアラートを使用してドキュメントをレンダリングする IronPDF の機能を示します。 詳細については、 Bootstrap および Flexbox CSS サポートガイドを参照してください。 IronPDF は、プロフェッショナルなタイポグラフィのためのフォント管理とフォント カーニングをサポートしています。 結果を改善するには、フォントのトラブルシューティング ガイドと国際言語のサポートを確認してください。 using IronPdf; var renderer = new ChromePdfRenderer(); string technicalDocs = @" <!DOCTYPE html> <html> <head> <meta charset='utf-8'> <link href='___PROTECTED_URL_192___ rel='stylesheet'> <style> .code-block { background: #f8f9fa; border-left: 3px solid #0d6efd; padding: 15px; border-radius: 4px; } .api-method { font-family: 'Courier New', monospace; color: #0d6efd; } @media print { .card, .alert { page-break-inside: avoid; } } </style> </head> <body class='bg-light'> <div class='container py-4'> <div class='card shadow-sm mb-4'> <div class='card-header bg-dark text-white'> <h2 class='mb-0'>API Reference - HTML to PDF Conversion</h2> </div> <div class='card-body'> <h4>RenderHtmlAsPdf() Method</h4> <p class='lead'>Converts HTML content to PDF with full CSS3 and JavaScript support.</p> <div class='code-block mb-3'> <code class='api-method'>PdfDocument RenderHtmlAsPdf(string htmlContent)</code> </div> <div class='row mt-4'> <div class='col-md-6'> <h5 class='text-primary'>Parameters</h5> <table class='table table-sm table-bordered'> <tr> <td><code>htmlContent</code></td> <td>String containing HTML to convert</td> </tr> </table> </div> <div class='col-md-6'> <h5 class='text-success'>Returns</h5> <table class='table table-sm table-bordered'> <tr> <td><code>PdfDocument</code></td> <td>Generated PDF document object</td> </tr> </table> </div> </div> </div> </div> <div class='row g-3 mb-4'> <div class='col-md-4'> <div class='alert alert-success mb-0'> <h6 class='alert-heading'>✓ Supported Features</h6> <ul class='mb-0 small'> <li>HTML5 semantic tags</li> <li>CSS3 with Flexbox/Grid</li> <li>JavaScript execution</li> <li>External stylesheets</li> </ul> </div> </div> <div class='col-md-4'> <div class='alert alert-info mb-0'> <h6 class='alert-heading'>ⓘ Rendering Engine</h6> <ul class='mb-0 small'> <li>Chrome V8 Engine</li> <li>98% browser fidelity</li> <li>Sub-second rendering</li> <li>Async/await support</li> </ul> </div> </div> <div class='col-md-4'> <div class='alert alert-warning mb-0'> <h6 class='alert-heading'>⚠ ExpertPDF Notes</h6> <ul class='mb-0 small'> <li>Complex API structure</li> <li>Limited CSS3 support</li> <li>No native JavaScript</li> <li>Requires configuration</li> </ul> </div> </div> </div> <div class='card shadow-sm'> <div class='card-header bg-primary text-white'> <h5 class='mb-0'>Code Example Comparison</h5> </div> <div class='card-body'> <div class='row'> <div class='col-md-6'> <h6 class='text-primary'>IronPDF (Simple)</h6> <div class='code-block'> <pre class='mb-0'><code>var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf");</code></pre> </div> <div class='badge bg-success mt-2'>3 Lines</div> </div> <div class='col-md-6'> <h6 class='text-warning'>ExpertPDF (Complex)</h6> <div class='code-block'> <pre class='mb-0'><code>var converter = new HtmlToPdfConverter(); converter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4; converter.NavigationTimeout = 60; byte[] result = converter.GetPdfBytesFromHtmlString(html); File.WriteAllBytes("output.pdf", result);</code></pre> </div> <div class='badge bg-warning text-dark mt-2'>5+ Lines</div> </div> </div> </div> <div class='card-footer text-muted'> <small><strong>Comparison:</strong> IronPDF provides a more intuitive API with less configuration overhead for common use cases.</small> </div> </div> </div> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(technicalDocs); pdf.SaveAs("technical-documentation.pdf"); using IronPdf; var renderer = new ChromePdfRenderer(); string technicalDocs = @" <!DOCTYPE html> <html> <head> <meta charset='utf-8'> <link href='___PROTECTED_URL_192___ rel='stylesheet'> <style> .code-block { background: #f8f9fa; border-left: 3px solid #0d6efd; padding: 15px; border-radius: 4px; } .api-method { font-family: 'Courier New', monospace; color: #0d6efd; } @media print { .card, .alert { page-break-inside: avoid; } } </style> </head> <body class='bg-light'> <div class='container py-4'> <div class='card shadow-sm mb-4'> <div class='card-header bg-dark text-white'> <h2 class='mb-0'>API Reference - HTML to PDF Conversion</h2> </div> <div class='card-body'> <h4>RenderHtmlAsPdf() Method</h4> <p class='lead'>Converts HTML content to PDF with full CSS3 and JavaScript support.</p> <div class='code-block mb-3'> <code class='api-method'>PdfDocument RenderHtmlAsPdf(string htmlContent)</code> </div> <div class='row mt-4'> <div class='col-md-6'> <h5 class='text-primary'>Parameters</h5> <table class='table table-sm table-bordered'> <tr> <td><code>htmlContent</code></td> <td>String containing HTML to convert</td> </tr> </table> </div> <div class='col-md-6'> <h5 class='text-success'>Returns</h5> <table class='table table-sm table-bordered'> <tr> <td><code>PdfDocument</code></td> <td>Generated PDF document object</td> </tr> </table> </div> </div> </div> </div> <div class='row g-3 mb-4'> <div class='col-md-4'> <div class='alert alert-success mb-0'> <h6 class='alert-heading'>✓ Supported Features</h6> <ul class='mb-0 small'> <li>HTML5 semantic tags</li> <li>CSS3 with Flexbox/Grid</li> <li>JavaScript execution</li> <li>External stylesheets</li> </ul> </div> </div> <div class='col-md-4'> <div class='alert alert-info mb-0'> <h6 class='alert-heading'>ⓘ Rendering Engine</h6> <ul class='mb-0 small'> <li>Chrome V8 Engine</li> <li>98% browser fidelity</li> <li>Sub-second rendering</li> <li>Async/await support</li> </ul> </div> </div> <div class='col-md-4'> <div class='alert alert-warning mb-0'> <h6 class='alert-heading'>⚠ ExpertPDF Notes</h6> <ul class='mb-0 small'> <li>Complex API structure</li> <li>Limited CSS3 support</li> <li>No native JavaScript</li> <li>Requires configuration</li> </ul> </div> </div> </div> <div class='card shadow-sm'> <div class='card-header bg-primary text-white'> <h5 class='mb-0'>Code Example Comparison</h5> </div> <div class='card-body'> <div class='row'> <div class='col-md-6'> <h6 class='text-primary'>IronPDF (Simple)</h6> <div class='code-block'> <pre class='mb-0'><code>var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf");</code></pre> </div> <div class='badge bg-success mt-2'>3 Lines</div> </div> <div class='col-md-6'> <h6 class='text-warning'>ExpertPDF (Complex)</h6> <div class='code-block'> <pre class='mb-0'><code>var converter = new HtmlToPdfConverter(); converter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4; converter.NavigationTimeout = 60; byte[] result = converter.GetPdfBytesFromHtmlString(html); File.WriteAllBytes("output.pdf", result);</code></pre> </div> <div class='badge bg-warning text-dark mt-2'>5+ Lines</div> </div> </div> </div> <div class='card-footer text-muted'> <small><strong>Comparison:</strong> IronPDF provides a more intuitive API with less configuration overhead for common use cases.</small> </div> </div> </div> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(technicalDocs); pdf.SaveAs("technical-documentation.pdf"); $vbLabelText $csharpLabel 出力: Bootstrap 5 カード、アラート、テーブル、コード ブロックを含むプロフェッショナルな技術ドキュメント PDF。 IronPDFはすべてのタイポグラフィ、スペーシングユーティリティ、およびグリッドレイアウトを正確にレンダリングし、優れた文書生成能力を示しています。 複雑なレイアウトの財務レポートを作成するにはどうすればよいでしょうか? 財務報告には正確な表のフォーマットと計算が必要です。 この例では、CSS グリッドと動的JavaScriptを使用した IronPDF の複雑な財務レイアウトのレンダリングを示します。 詳細については、カスタムJavaScript実行を含むPDF 内 for JavaScriptガイドを参照してください。 財務文書では、ファイルの最適化のためにPDF 圧縮が必要であり、コンプライアンスのためにメタデータ管理が必要になる場合があります。 PDF ガイドでのチャートのレンダリングは、データの視覚化に役立ちます。 using IronPdf; var renderer = new ChromePdfRenderer(); // Enable JavaScript for dynamic calculations renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.RenderDelay = 500; // Allow JS to execute string financialReport = @" <!DOCTYPE html> <html> <head> <meta charset='utf-8'> <style> @page { size: A4; margin: 20mm; } body { font-family: Arial, sans-serif; line-height: 1.6; } .header { text-align: center; margin-bottom: 30px; } .financial-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 10px; margin-bottom: 20px; } .grid-header { background: #2c3e50; color: white; padding: 10px; font-weight: bold; } .grid-row { padding: 10px; border-bottom: 1px solid #ddd; } .grid-row:hover { background: #f9f9f9; } .amount { text-align: right; font-family: 'Courier New', monospace; } .positive { color: #27ae60; } .negative { color: #e74c3c; } .total-row { background: #ecf0f1; font-weight: bold; margin-top: 10px; } .footer-note { font-size: 0.8em; color: #666; margin-top: 30px; text-align: center; } @media print { .grid-row:hover { background: transparent; } .financial-grid { page-break-inside: avoid; } } </style> </head> <body> <div class='header'> <h1>Quarterly Financial Report</h1> <p>Q4 2023 - Consolidated Statement</p> </div> <div class='financial-grid'> <div class='grid-header'>Revenue Stream</div> <div class='grid-header amount'>Q3 2023</div> <div class='grid-header amount'>Q4 2023</div> <div class='grid-row'>Software Licenses</div> <div class='grid-row amount'>$2,150,000</div> <div class='grid-row amount positive'>$2,875,000</div> <div class='grid-row'>Support Services</div> <div class='grid-row amount'>$850,000</div> <div class='grid-row amount positive'>$975,000</div> <div class='grid-row'>Consulting</div> <div class='grid-row amount'>$425,000</div> <div class='grid-row amount negative'>$380,000</div> <div class='grid-row total-row'>Total Revenue</div> <div class='grid-row total-row amount'>$3,425,000</div> <div class='grid-row total-row amount positive' id='total'>$4,230,000</div> </div> <div class='financial-grid'> <div class='grid-header'>Operating Expenses</div> <div class='grid-header amount'>Q3 2023</div> <div class='grid-header amount'>Q4 2023</div> <div class='grid-row'>R&D</div> <div class='grid-row amount'>$1,200,000</div> <div class='grid-row amount'>$1,350,000</div> <div class='grid-row'>Sales & Marketing</div> <div class='grid-row amount'>$800,000</div> <div class='grid-row amount'>$950,000</div> <div class='grid-row'>General & Admin</div> <div class='grid-row amount'>$400,000</div> <div class='grid-row amount'>$425,000</div> <div class='grid-row total-row'>Total Expenses</div> <div class='grid-row total-row amount'>$2,400,000</div> <div class='grid-row total-row amount'>$2,725,000</div> </div> <script> // Calculate growth percentage const q3Total = 3425000; const q4Total = 4230000; const growth = ((q4Total - q3Total) / q3Total * 100).toFixed(1); // Add growth indicator const totalEl = document.getElementById('total'); totalEl.innerHTML += ` <small>(+${growth}%)</small>`; </script> <div class='footer-note'> <p>This report was generated using IronPDF's advanced rendering engine.<br> All financial figures are in USD. Report generated on: <span id='date'></span></p> </div> <script> document.getElementById('date').textContent = new Date().toLocaleDateString(); </script> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(financialReport); pdf.SaveAs("financial-report.pdf"); using IronPdf; var renderer = new ChromePdfRenderer(); // Enable JavaScript for dynamic calculations renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.RenderDelay = 500; // Allow JS to execute string financialReport = @" <!DOCTYPE html> <html> <head> <meta charset='utf-8'> <style> @page { size: A4; margin: 20mm; } body { font-family: Arial, sans-serif; line-height: 1.6; } .header { text-align: center; margin-bottom: 30px; } .financial-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 10px; margin-bottom: 20px; } .grid-header { background: #2c3e50; color: white; padding: 10px; font-weight: bold; } .grid-row { padding: 10px; border-bottom: 1px solid #ddd; } .grid-row:hover { background: #f9f9f9; } .amount { text-align: right; font-family: 'Courier New', monospace; } .positive { color: #27ae60; } .negative { color: #e74c3c; } .total-row { background: #ecf0f1; font-weight: bold; margin-top: 10px; } .footer-note { font-size: 0.8em; color: #666; margin-top: 30px; text-align: center; } @media print { .grid-row:hover { background: transparent; } .financial-grid { page-break-inside: avoid; } } </style> </head> <body> <div class='header'> <h1>Quarterly Financial Report</h1> <p>Q4 2023 - Consolidated Statement</p> </div> <div class='financial-grid'> <div class='grid-header'>Revenue Stream</div> <div class='grid-header amount'>Q3 2023</div> <div class='grid-header amount'>Q4 2023</div> <div class='grid-row'>Software Licenses</div> <div class='grid-row amount'>$2,150,000</div> <div class='grid-row amount positive'>$2,875,000</div> <div class='grid-row'>Support Services</div> <div class='grid-row amount'>$850,000</div> <div class='grid-row amount positive'>$975,000</div> <div class='grid-row'>Consulting</div> <div class='grid-row amount'>$425,000</div> <div class='grid-row amount negative'>$380,000</div> <div class='grid-row total-row'>Total Revenue</div> <div class='grid-row total-row amount'>$3,425,000</div> <div class='grid-row total-row amount positive' id='total'>$4,230,000</div> </div> <div class='financial-grid'> <div class='grid-header'>Operating Expenses</div> <div class='grid-header amount'>Q3 2023</div> <div class='grid-header amount'>Q4 2023</div> <div class='grid-row'>R&D</div> <div class='grid-row amount'>$1,200,000</div> <div class='grid-row amount'>$1,350,000</div> <div class='grid-row'>Sales & Marketing</div> <div class='grid-row amount'>$800,000</div> <div class='grid-row amount'>$950,000</div> <div class='grid-row'>General & Admin</div> <div class='grid-row amount'>$400,000</div> <div class='grid-row amount'>$425,000</div> <div class='grid-row total-row'>Total Expenses</div> <div class='grid-row total-row amount'>$2,400,000</div> <div class='grid-row total-row amount'>$2,725,000</div> </div> <script> // Calculate growth percentage const q3Total = 3425000; const q4Total = 4230000; const growth = ((q4Total - q3Total) / q3Total * 100).toFixed(1); // Add growth indicator const totalEl = document.getElementById('total'); totalEl.innerHTML += ` <small>(+${growth}%)</small>`; </script> <div class='footer-note'> <p>This report was generated using IronPDF's advanced rendering engine.<br> All financial figures are in USD. Report generated on: <span id='date'></span></p> </div> <script> document.getElementById('date').textContent = new Date().toLocaleDateString(); </script> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(financialReport); pdf.SaveAs("financial-report.pdf"); $vbLabelText $csharpLabel このコード例は、 IronPDF を使用して開発者がCSS グリッド レイアウト、 JavaScript実行、印刷固有の CSSを使用する方法を示しています。 レポートにカスタム ヘッダーとフッターを追加し、ブランド化のための背景と前景、セキュリティのための透かし、認証のためのデジタル署名を実装します。 詳細については、 PDF レポートの生成ガイドを参照してください。 複数の PDF ファイルを 1 つの PDF に結合するにはどうすればよいでしょうか? どちらのライブラリも複数の PDF を 1 つのドキュメントに結合し、データを統合して効率的に転送します。 詳細については、 PDF の結合または分割ガイドを参照してください。 複数ページのドキュメントでは、ページ管理や複数ページの PDF の分割が必要になる場合があります。 大きなファイルのパフォーマンスを向上させるには、非同期 PDF 生成または並列処理を検討してください。 2 つ以上の PDF を結合する例では、実用的な実装が提供されています。 PDF を整理するために、 IronPDF は完全なツールを提供します。 IronPDF はどのようにして PDF ファイルを結合するのでしょうか? このコード例は、 IronPDF を使用して開発者が HTML 文字列から 2 つの PDF をレンダリングし、それらを結合する方法を示しています。 簡単なアプローチでは、追加の設定オプションが提供されます。 結合された文書のページ番号とページ区切りについては、それぞれのガイドを参照してください。 また、きめ細かな制御のためにPDF 間でページをコピーすることもできます。 フォームについては、フォーム管理およびフォーム編集のドキュメントを参照してください。 ページ番号とページ区切りの例は、組み合わせた実装を示しています。 // Import the IronPdf library using IronPdf; // Define HTML strings to convert to PDF var htmlA = @"<p> [PDF_A] </p> <p> [PDF_A] 1st Page </p> <div style='page-break-after: always;'></div> <p> [PDF_A] 2nd Page</p>"; var htmlB = @"<p> [PDF_B] </p> <p> [PDF_B] 1st Page </p> <div style='page-break-after: always;'></div> <p> [PDF_B] 2nd Page</p>"; // Initialize a new renderer var renderer = new ChromePdfRenderer(); // Render HTML strings as PDFs var pdfDocA = renderer.RenderHtmlAsPdf(htmlA); var pdfDocB = renderer.RenderHtmlAsPdf(htmlB); // Merge the PDF documents var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB); // Save the merged PDF mergedPdf.SaveAs("Merged.pdf"); // Import the IronPdf library using IronPdf; // Define HTML strings to convert to PDF var htmlA = @"<p> [PDF_A] </p> <p> [PDF_A] 1st Page </p> <div style='page-break-after: always;'></div> <p> [PDF_A] 2nd Page</p>"; var htmlB = @"<p> [PDF_B] </p> <p> [PDF_B] 1st Page </p> <div style='page-break-after: always;'></div> <p> [PDF_B] 2nd Page</p>"; // Initialize a new renderer var renderer = new ChromePdfRenderer(); // Render HTML strings as PDFs var pdfDocA = renderer.RenderHtmlAsPdf(htmlA); var pdfDocB = renderer.RenderHtmlAsPdf(htmlB); // Merge the PDF documents var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB); // Save the merged PDF mergedPdf.SaveAs("Merged.pdf"); $vbLabelText $csharpLabel Merge メソッドは、複数のドキュメントを Enumerable オブジェクトとして受け入れます。 PDF の結合については、 IronPDFコード例を参照してください。 表紙の追加や目次の作成については、専用のガイドを参照してください。 また、新しいコンテンツをスタンプしたり、添付ファイルを追加したりすることもできます。 PDF を分割してページを抽出する例では、逆の操作を示します。 編集可能なフォームを含む結合された PDF では、フォーム フィールド名にインデックス番号が追加されることに注意してください。 詳細については、フォーム データ処理ガイドを参照してください。 ExpertPDF はどのようにして PDF ファイルを結合するのでしょうか? ExpertPDF は、別途インストールが必要な Merge PDF コンポーネントを使用します。 AppendPDFFile メソッドは PDFMerge オブジェクトにファイルを追加します。 // Import the ExpertPdf.MergePdf namespace using ExpertPdf.MergePdf; // Initialize a new PDFMerge object PDFMerge pdfMerge = new PDFMerge(); // Append PDF files to the merge object pdfMerge.AppendPDFFile("output.pdf"); pdfMerge.AppendPDFFile("html-to-pdf.pdf"); // Save the merged PDF to a file pdfMerge.SaveMergedPDFToFile("merged.pdf"); // Import the ExpertPdf.MergePdf namespace using ExpertPdf.MergePdf; // Initialize a new PDFMerge object PDFMerge pdfMerge = new PDFMerge(); // Append PDF files to the merge object pdfMerge.AppendPDFFile("output.pdf"); pdfMerge.AppendPDFFile("html-to-pdf.pdf"); // Save the merged PDF to a file pdfMerge.SaveMergedPDFToFile("merged.pdf"); $vbLabelText $csharpLabel 舞台裏では、 IronPDF はより効率的なマージ アルゴリズムを使用します。 パフォーマンスを大幅に向上させるには、同期操作の代わりに IronPDF の非同期 PDF 生成とマルチスレッド生成を使用することを検討してください。 ドキュメント整理による高度な PDF 結合を実装するにはどうすればよいですか? エンタープライズ アプリケーションでは、PDF を結合するときに、ブックマーク、ページ編成、メタデータの保存などの高度な機能が必要です。 この例では、ブックマークの管理、メタデータの処理、およびドキュメントの編成を示します。 コンプライアンスのために、変更履歴、 PDF/A 変換、 PDF/UA アクセシビリティを実装します。 アウトラインとブックマークの例では、追加の実装の詳細が提供されています。 詳細については、メタデータの設定と編集ガイドおよびメタデータの可視性のトラブルシューティングを参照してください。 using IronPdf; using System.Collections.Generic; using System.Linq; public class AdvancedPdfMerger { public static void MergeDocumentsWithBookmarks() { var renderer = new ChromePdfRenderer(); var documentsToMerge = new List<PdfDocument>(); // Create chapter PDFs with proper structure string[] chapters = { "Introduction", "Technical Overview", "Implementation", "Conclusion" }; foreach (var chapter in chapters) { string html = $@" <html> <head> <style> body {{ font-family: Georgia, serif; margin: 40px; }} h1 {{ color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 10px; }} .chapter-number {{ color: #7f8c8d; font-size: 0.8em; }} </style> </head> <body> <h1><span class='chapter-number'>Chapter {Array.IndexOf(chapters, chapter) + 1}</span><br>{chapter}</h1> <p>This is the content for the {chapter} chapter. In a real document, this would contain extensive content, diagrams, and detailed explanations.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(html); // Add metadata to each chapter pdf.MetaData.Title = $"Chapter: {chapter}"; pdf.MetaData.Author = "Technical Documentation Team"; pdf.MetaData.Subject = "Enterprise PDF Generation"; documentsToMerge.Add(pdf); } // Create a table of contents string tocHtml = @" <html> <head> <style> body { font-family: Georgia, serif; margin: 40px; } h1 { text-align: center; color: #2c3e50; margin-bottom: 40px; } .toc-entry { margin: 15px 0; font-size: 1.1em; } .toc-entry a { text-decoration: none; color: #3498db; } .page-number { float: right; color: #7f8c8d; } </style> </head> <body> <h1>Table of Contents</h1>"; int pageNumber = 2; // Starting after TOC page foreach (var chapter in chapters) { tocHtml += $@" <div class='toc-entry'> <a href='#'>Chapter {Array.IndexOf(chapters, chapter) + 1}: {chapter}</a> <span class='page-number'>{pageNumber}</span> </div>"; pageNumber += 2; // Assuming each chapter is 2 pages } tocHtml += @" </body> </html>"; var tocPdf = renderer.RenderHtmlAsPdf(tocHtml); // Merge all documents with TOC first var allDocuments = new List<PdfDocument> { tocPdf }; allDocuments.AddRange(documentsToMerge); var finalPdf = PdfDocument.Merge(allDocuments); // Add bookmarks for navigation finalPdf.BookMarks.AddBookMarkAtStart("Table of Contents", 0); int currentPage = 1; // After TOC foreach (var chapter in chapters) { finalPdf.BookMarks.AddBookMarkAtStart($"Chapter {Array.IndexOf(chapters, chapter) + 1}: {chapter}", currentPage); currentPage += 2; } // Set document properties finalPdf.MetaData.Title = "Complete Technical Documentation"; finalPdf.MetaData.Keywords = "IronPDF, Documentation, Enterprise, .NET"; finalPdf.MetaData.CreationDate = System.DateTime.Now; // Add page numbers to footer finalPdf.AddTextFooters("Page {page} of {total-pages}", new ChromePdfRenderer.ChromePdfRenderOptions() { MarginBottom = 20, MarginLeft = 50, MarginRight = 50 }); finalPdf.SaveAs("advanced-merged-document.pdf"); } } using IronPdf; using System.Collections.Generic; using System.Linq; public class AdvancedPdfMerger { public static void MergeDocumentsWithBookmarks() { var renderer = new ChromePdfRenderer(); var documentsToMerge = new List<PdfDocument>(); // Create chapter PDFs with proper structure string[] chapters = { "Introduction", "Technical Overview", "Implementation", "Conclusion" }; foreach (var chapter in chapters) { string html = $@" <html> <head> <style> body {{ font-family: Georgia, serif; margin: 40px; }} h1 {{ color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 10px; }} .chapter-number {{ color: #7f8c8d; font-size: 0.8em; }} </style> </head> <body> <h1><span class='chapter-number'>Chapter {Array.IndexOf(chapters, chapter) + 1}</span><br>{chapter}</h1> <p>This is the content for the {chapter} chapter. In a real document, this would contain extensive content, diagrams, and detailed explanations.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(html); // Add metadata to each chapter pdf.MetaData.Title = $"Chapter: {chapter}"; pdf.MetaData.Author = "Technical Documentation Team"; pdf.MetaData.Subject = "Enterprise PDF Generation"; documentsToMerge.Add(pdf); } // Create a table of contents string tocHtml = @" <html> <head> <style> body { font-family: Georgia, serif; margin: 40px; } h1 { text-align: center; color: #2c3e50; margin-bottom: 40px; } .toc-entry { margin: 15px 0; font-size: 1.1em; } .toc-entry a { text-decoration: none; color: #3498db; } .page-number { float: right; color: #7f8c8d; } </style> </head> <body> <h1>Table of Contents</h1>"; int pageNumber = 2; // Starting after TOC page foreach (var chapter in chapters) { tocHtml += $@" <div class='toc-entry'> <a href='#'>Chapter {Array.IndexOf(chapters, chapter) + 1}: {chapter}</a> <span class='page-number'>{pageNumber}</span> </div>"; pageNumber += 2; // Assuming each chapter is 2 pages } tocHtml += @" </body> </html>"; var tocPdf = renderer.RenderHtmlAsPdf(tocHtml); // Merge all documents with TOC first var allDocuments = new List<PdfDocument> { tocPdf }; allDocuments.AddRange(documentsToMerge); var finalPdf = PdfDocument.Merge(allDocuments); // Add bookmarks for navigation finalPdf.BookMarks.AddBookMarkAtStart("Table of Contents", 0); int currentPage = 1; // After TOC foreach (var chapter in chapters) { finalPdf.BookMarks.AddBookMarkAtStart($"Chapter {Array.IndexOf(chapters, chapter) + 1}: {chapter}", currentPage); currentPage += 2; } // Set document properties finalPdf.MetaData.Title = "Complete Technical Documentation"; finalPdf.MetaData.Keywords = "IronPDF, Documentation, Enterprise, .NET"; finalPdf.MetaData.CreationDate = System.DateTime.Now; // Add page numbers to footer finalPdf.AddTextFooters("Page {page} of {total-pages}", new ChromePdfRenderer.ChromePdfRenderOptions() { MarginBottom = 20, MarginLeft = 50, MarginRight = 50 }); finalPdf.SaveAs("advanced-merged-document.pdf"); } } $vbLabelText $csharpLabel この高度な実装では、ブックマークの管理、メタデータの処理、およびページ番号付けを示します。 詳細については、 PDF の整理チュートリアルを参照してください。 マージ後のPDF 圧縮手法を調べます。 セキュリティのため、パスワード保護と暗号化を実装します。 クラシック テキスト ヘッダーとフッターを追加する例では、書式設定オプションが提供されます。 追加機能については、ページ番号の追加や目次ガイドの追加をご覧ください。 パスワード、セキュリティ、メタデータの例では、統合された実装を示しています。 画像を PDF に変換するにはどうすればよいですか? IronPDF はさまざまな画像を PDF に変換しますが、これは ExpertPDF では利用できない機能です。 ただし、ExpertPDF は PDF から画像を抽出し、PDF を画像に変換します。これらの機能はIronPDFでも提供されています。 詳細については、画像から PDF へのガイドを参照してください。 IronPDF は、PDF を画像にラスタライズし、テキストと画像を抽出することをサポートしています。 高度なシナリオでは、テキストやビットマップを描画したり、線や四角形を描画したりします。 画像を PDF に変換する例では、実用的な実装を示します。 画像の品質については、品質を損なわずに C# で PDF を画像に変換する例を参照してください。 IronPDF はどのようにして画像を PDF に変換するのでしょうか? 画像から PDF を作成するには、ImageToPdfConverter クラスを使用します。 画像は任意のフォルダーから読み込まれ、複数ページの TIFF ファイルを含むさまざまな形式をサポートします。 既存の PDF に画像を追加したり、 SVG グラフィックを操作したりすることもできます。 メモリ効率を高めるには、 MemoryStream を使用して画像をラスタライズします。 カスタム PDF サイズの例は、レイアウト制御に役立ちます。 // Import the IronPdf namespace using IronPdf; // Specify the folder containing the image files var imageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets") .Where(file => file.EndsWith(".jpg") || file.EndsWith(".jpeg")); // Convert the images to a PDF document var pdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles); // Save the PDF document pdfDocument.SaveAs(@"C:\project\composite.pdf"); // Import the IronPdf namespace using IronPdf; // Specify the folder containing the image files var imageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets") .Where(file => file.EndsWith(".jpg") || file.EndsWith(".jpeg")); // Convert the images to a PDF document var pdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles); // Save the PDF document pdfDocument.SaveAs(@"C:\project\composite.pdf"); $vbLabelText $csharpLabel IronPDF は、画像を PDF に変換するだけでなく、ラスタライズを使用してスキャンした文書やビジネス文書を画像に変換します。 このライブラリは、様々なファイル形式から画像を抽出することもできます。メモリ操作については、 MemoryStreamを使用した画像のラスタライズガイドを参照してください。 大きな画像の場合は、 ImageToPDF ファイル サイズの最適化を検討してください。 縦向きと横向きの例は、ページ設定に役立ちます。高度な画像処理については、ビットマップと画像の埋め込み例をご覧ください。 レイアウト コントロールを使用して画像から PDF への高度な変換を行うにはどうすればよいでしょうか? 制御された画像配置とプロフェッショナルなレイアウトを実現するために、このフォト アルバムの例では、画像の埋め込みとレイアウトの作成を示します。 クラウド ストレージについては、 "Azure Blob Storage イメージ ガイド"を参照してください。 グレースケール設定の例では、画像処理オプションを示しています。 using IronPdf; using System.IO; public class PhotoAlbumCreator { public static void CreatePhotoAlbum(string imagesFolder, string outputPath) { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 20; renderer.RenderingOptions.MarginBottom = 20; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; string htmlContent = @" <!DOCTYPE html> <html> <head> <style> body { font-family: Arial, sans-serif; } .album-title { text-align: center; font-size: 2em; margin-bottom: 30px; color: #2c3e50; } .photo-container { margin-bottom: 30px; text-align: center; page-break-inside: avoid; } .photo { max-width: 100%; max-height: 500px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); } .caption { margin-top: 10px; font-style: italic; color: #666; } .page-break { page-break-after: always; } </style> </head> <body> <h1 class='album-title'>My Photo Album</h1>"; var imageFiles = Directory.GetFiles(imagesFolder, "*.*") .Where(file => new[] { ".jpg", ".jpeg", ".png", ".gif" } .Contains(Path.GetExtension(file).ToLower())) .ToList(); for (int i = 0; i < imageFiles.Count; i++) { string base64Image = Convert.ToBase64String(File.ReadAllBytes(imageFiles[i])); string fileName = Path.GetFileNameWithoutExtension(imageFiles[i]); htmlContent += $@" <div class='photo-container'> <img class='photo' src='data:image/jpeg;base64,{base64Image}' alt='{fileName}'> <div class='caption'>Photo {i + 1}: {fileName}</div> </div>"; // Add page break every 2 photos if ((i + 1) % 2 == 0 && i < imageFiles.Count - 1) { htmlContent += "<div class='page-break'></div>"; } } htmlContent += @" <div style='text-align: center; margin-top: 40px; color: #999;'> <small>Created with IronPDF - Total Photos: " + imageFiles.Count + @"</small> </div> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(htmlContent); pdf.SaveAs(outputPath); } } // Usage PhotoAlbumCreator.CreatePhotoAlbum(@"C:\MyPhotos", @"C:\MyPhotoAlbum.pdf"); using IronPdf; using System.IO; public class PhotoAlbumCreator { public static void CreatePhotoAlbum(string imagesFolder, string outputPath) { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 20; renderer.RenderingOptions.MarginBottom = 20; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; string htmlContent = @" <!DOCTYPE html> <html> <head> <style> body { font-family: Arial, sans-serif; } .album-title { text-align: center; font-size: 2em; margin-bottom: 30px; color: #2c3e50; } .photo-container { margin-bottom: 30px; text-align: center; page-break-inside: avoid; } .photo { max-width: 100%; max-height: 500px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); } .caption { margin-top: 10px; font-style: italic; color: #666; } .page-break { page-break-after: always; } </style> </head> <body> <h1 class='album-title'>My Photo Album</h1>"; var imageFiles = Directory.GetFiles(imagesFolder, "*.*") .Where(file => new[] { ".jpg", ".jpeg", ".png", ".gif" } .Contains(Path.GetExtension(file).ToLower())) .ToList(); for (int i = 0; i < imageFiles.Count; i++) { string base64Image = Convert.ToBase64String(File.ReadAllBytes(imageFiles[i])); string fileName = Path.GetFileNameWithoutExtension(imageFiles[i]); htmlContent += $@" <div class='photo-container'> <img class='photo' src='data:image/jpeg;base64,{base64Image}' alt='{fileName}'> <div class='caption'>Photo {i + 1}: {fileName}</div> </div>"; // Add page break every 2 photos if ((i + 1) % 2 == 0 && i < imageFiles.Count - 1) { htmlContent += "<div class='page-break'></div>"; } } htmlContent += @" <div style='text-align: center; margin-top: 40px; color: #999;'> <small>Created with IronPDF - Total Photos: " + imageFiles.Count + @"</small> </div> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(htmlContent); pdf.SaveAs(outputPath); } } // Usage PhotoAlbumCreator.CreatePhotoAlbum(@"C:\MyPhotos", @"C:\MyPhotoAlbum.pdf"); $vbLabelText $csharpLabel このコード例は、 IronPDF を使用して開発者がDataURI による画像の埋め込み、ページ区切りの管理、プロフェッショナルなレイアウトの作成を実装する方法を示しています。 クラウド イメージについては、 "Azure Blob Storage イメージ ガイド"を参照してください。 大きなファイルの場合は、 ImageToPDF のファイル サイズの最適化を検討してください。 また、 PDF オブジェクトを拡大縮小したり、 PDF オブジェクトを移動して正確な配置を行うこともできます。 PDF をメモリにエクスポートする例は、メモリ効率の高いワークフローに役立ちます。 バッチ処理については、 HTML コンテンツを効率的に追加するためのガイドを参照してください。 ライセンスと価格のオプションは何ですか? IronPDFは、 IronPDFウェブサイトで入手可能な商用C# PDFライブラリです。個人開発には無料で、商用利用にはライセンスが付与されています。 単一プロジェクト、開発者、代理店、企業向けにさまざまなライセンスをご用意しています。 SaaS および OEM の再配布をサポートします。 実装の詳細については、ライセンス キー ガイドを参照してください。 展開時にライセンス キーを適切に適用します。 Web アプリケーションの場合は、 Web.config でライセンス キーを設定します。 ライセンスサーバーの接続に関する問題については、トラブルシューティングガイドをご覧ください。ライセンスキーの使用に関するガイドには、実装に関する詳細情報が記載されています。 すべてのライセンスには、30 日間の返金保証、1 年間のサポート、および製品のアップデートが含まれています。 永久ライセンスは追加料金なしで 1 回購入する必要があります。 単一の開発者/プロジェクト向けの Lite パッケージは、$799 から始まります。 1 年目以降のサポートについては、ライセンスの延長を参照してください。 追加機能または展開のためにアップグレードするには、ライセンスのアップグレードを確認してください。 IronPDFと IIS の展開、またはソフトウェア インストーラーへのIronPDFの追加については、専用のガイドを参照してください。 ClickOnce バージョンの非互換性ガイドは、展開の問題の解決に役立ちます。 ExpertPDF は、開発者ごとまたは会社ごとのライセンスを提供します。 ExpertPDF を無料でお試しください。 以下のライセンス機能を確認してください。 より大きな価値と完全なサポートを得るには、ExpertPDF の代わりに IronPDF の透明なライセンス オプションの使用を検討してください。 ExpertComponents ツールキット開発者ライセンスは合計850ドルから、ExpertPDFツールキットは750ドルから。各コンポーネントは個別にご購入いただけます。 ExpertPDF の完全な価格を表示します。 エンタープライズ要件の場合、IronPDF のライセンスは完全な機能セットを備え、より優れた価値を提供します。 どの PDF ライブラリを選択すればよいですか? IronPDF は、標準に準拠した Web ブラウザーをシミュレートし、インターネット接続なしでローカルで HTML を PDF に変換します。 HTML レンダリングにより、商業印刷に適した正確なベクター形式の出力が生成されます。 透明な価格設定で商用利用がライセンスされています。 エンタープライズ展開向けに、 IronPDF はDocker サポートとリモート エンジン機能を提供します。 IronPDF をリモート コンテナーとして実行する方法と、ネイティブ エンジンとリモート エンジンのオプションの比較に関するガイドを参照してください。 このライブラリは、展開サイズを縮小するIronPdf.Slimを提供し、パッケージ サイズの最適化をサポートします。 IronPdf.Slim v2025.5.6 デプロイメント例外ガイドは、特定のバージョンの問題の解決に役立ちます。 ExpertPDF の HTML から PDF へのコンバーター ライブラリは、Web ページと HTML を PDF に変換し、 ASP.NETからレポートを生成し、契約書に電子署名します。 ライセンスされた追加機能を使用して無料で使用できます。 Android 展開を含む IronPDF の完全なプラットフォーム サポートとは異なり、ExpertPDF は Windows プラットフォームに制限されています。 舞台裏では、 IronPDF は高度なセキュリティ機能と定期的な製品アップデートを使用しています。 マイルストーンの概要には、 Chrome レンダリング マイルストーン、互換性マイルストーン、安定性とパフォーマンス マイルストーンなどの継続的な改善が紹介されています。 どちらのライブラリも PDF を処理し、一般的な形式から変換しますが、 IronPDF はExpertPDF よりも優れています。 IronPDF は、信頼性の高い PDF 生成、フォーマット、編集機能を備え、 XML 、画像、 AngularJS 、 Markdown 、 RTFなどの幅広い形式から変換します。 これにより、開発者は実用的な開発の効率性を実現できます。 このライブラリは、高スループットのシナリオでの非同期サポートによるパフォーマンスの向上に優れています。 並行処理の場合、 IronPDF は並列 PDF 生成とマルチスレッド生成をサポートします。 最適化の詳細については、初期レンダリングが遅い場合のトラブルシューティング ガイドを参照してください。 ExpertPDF では個別のコンポーネントのインストールが必要ですが、 IronPDFではすべての機能が統合されています。 これは、プロジェクトで完全な PDF 機能が必要な場合に特に便利です。 IronPDFパッケージは継続的なコストなしで生涯ライセンスを提供しますが、ExpertPDF では更新が必要です。 さらに、 IronPDF は、クイックスタートのための完全なドキュメント、 API リファレンス、およびコード例を提供します。 デモセクションでは実際の実装を紹介します。 トラブルシューティングについては、クイック トラブルシューティング ガイドを参照するか、初期レンダリング パフォーマンスとGPU プロセスの最適化を調べてください。 最適なサポート ガイドを入手することで、効率的な問題解決が保証されます。 実稼働環境での展開では、 IronPDF は優れたデバッグ機能、カスタム ログ、広範なトラブルシューティング ガイドを提供します。 ライブラリは、 PDF/A 準拠、 PDF/UA アクセシビリティ、 HSM によるデジタル署名、安全な処理のためのサニタイズなどの高度な機能をサポートしています。 企業のセキュリティのために、 IronPDF は暗号化と復号化、パスワード保護、完全なセキュリティ機能を提供します。 高度な機能には、テキストの編集、 PDF のフラット化、 PDF バージョンの管理などがあります。 PDF を base64 に変換するガイドは、データ転送に役立ちます。 サポートと開発に関しては、 IronPDF はサポート リクエストを行うための詳細なガイドを含むエンジニアリング サポートを提供します。 ライブラリ製品の更新とマイルストーンは継続的な改善を示します。 .NET MAUI開発者向けに、 IronPDF はPDF 表示機能とXAML から PDF への変換機能を提供します。 Blazor開発者は、 Blazor Server 統合とRazorから PDF への変換を使用します。 このライブラリは、MVC アプリケーションのCSHTML から PDF への変換とヘッドレス CSHTML レンダリングをサポートします。 制限については、 Blazor Server / WebAssembly ガイドを参照してください。 特殊な用途では、 IronPDF はOpenAI 統合によりインテリジェントな処理、 PDF でのチャートのレンダリング、MVC アプリケーションでのCSHTML から PDF への変換、国際言語と UTF-8 のサポートに優れています。 このライブラリは、 PDF のフラット化、高速 Web 表示のための線形化、 PDF フォームの作成などの複雑なシナリオを処理します。 PDF ページの変換、 PDF オブジェクトの削除、カスタム一時パスの設定について説明します。 IronPDF の完全な機能概要では、 PDF の作成、 PDF の変換、 PDF の編集、 PDF の整理、 PDF の保護の機能を紹介します。 追加機能には、C# での PDF ファイルの読み取り、テキストの検索と置換、特定の PDF ページの削除などがあります。 デプロイメントに関する考慮事項については、 "ローカル マシンでの Azure Functions のデバッグ" 、 "Azure ログ ファイルの管理" 、 "AWS ログ ファイルの処理" 、および"502 Bad Gateway エラーの解決策"を参照してください。 IronPDF は、 パス拒否ソリューション、 Chrome 依存関係のデプロイメント、 PDFium 依存関係のデプロイメント、および不正な割り当てエラー ソリューションへのアクセスを含む完全なエラー処理を提供します。 プラットフォーム固有のサポートには、Linux 固有のガイド、 macOS ネイティブの例外、 Windows Nano Server の制限が含まれます。 セキュリティ機能には、 Log4j の脆弱性ステータスとAWS Lambda のセグメンテーション違反に対する保護が含まれます。 このサイトは、ExpertPDFと提携しておらず、承認されず、スポンサーされていません。 このサイトは ExpertPDF と提携、承認、または後援されていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。)}] よくある質問 C# で HTML を PDF に変換するにはどうすればいいですか? IronPDF の RenderHtmlAsPdf メソッドを使用して、HTML 文字列を PDF に変換できます。RenderHtmlFileAsPdf を使用して HTML ファイルを PDF に変換することもできます。 IronPDFとExpertPDFの主な違いは何ですか? IronPDFは、HTMLからのPDF作成、編集、フォーマット変換を含む、より広範なフォーマットサポートと統合機能を提供します。ExpertPDFは、出力ファイルの構成オプションとデジタル署名を伴う、シンプルなHTMLからPDFへの変換を提供します。 これらのライブラリを使用して、PDFからテキストや画像を抽出できますか? はい、IronPDFはPDFドキュメントからテキストと画像を抽出でき、.NETアプリケーション内でPDFコンテンツを操作・分析しやすくします。 これらのPDFライブラリに利用可能なインストールオプションは何ですか? IronPDFとExpertPDFのどちらも、Visual StudioのNuGetパッケージマネージャーを使用してインストールできます。さらに、IronPDFの.DLLライブラリはIronPDFのウェブサイトから直接ダウンロード可能です。 複数のPDFファイルを1つのドキュメントにマージすることは可能ですか? はい、IronPDFは複数のPDFを1つのドキュメントに結合するMergeメソッドを提供します。ExpertPDFもPDFのマージ用のPDFMergeコンポーネントを提供しています。 IronPDFはHTMLからPDFへの変換にインターネット接続を必要としますか? いいえ、IronPDFはHTMLからPDFへの変換にインターネット接続を必要としないため、オフラインアプリケーションにとって信頼性のあるオプションです。 IronPDFの利用可能なライセンスオプションは何ですか? IronPDFには、単一プロジェクト、開発者、代理店、企業ライセンスを含むさまざまなライセンスオプションがあります。すべてのライセンスは永続的で、30日間の返金保証と1年間のサポートおよび更新が含まれています。 ExpertPDFはPDFドキュメントのデジタル署名を処理できますか? はい、ExpertPDFはPDFドキュメントのデジタル署名をサポートしており、安全で認証されたPDFファイルを可能にします。 C#開発者がPDFを扱う際に直面する課題は何ですか?これらのライブラリはどのように役立ちますか? C#開発者は、PDFの読み取り、書き込み、作成、変換においてしばしば課題に直面します。IronPDFやExpertPDFのようなライブラリは、HTMLからPDFへの変換、PDF編集などの強力なツールを提供することで、これらのタスクを簡素化し、C#アプリケーションへの容易な統合を促進します。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 2026年3月1日 ASP.NET MVCでPDFを生成:iTextSharp vs IronPDFガイド iTextSharpとIronPDFを使ってASP.NET MVCのPDF生成方法を比較します。どちらのライブラリがより優れたHTMLレンダリングと簡単な実装を提供するかをご覧ください。 詳しく読む 更新日 2026年2月1日 Ghostscript GPL vs IronPDF:技術比較ガイド Ghostscript GPLとIronPDFの主な違いをご覧ください。AGPLライセンスと商用ライセンス、コマンドラインスイッチと.NETネイティブAPI、HTML-to-PDF機能を比較してください。 詳しく読む 更新日 2026年3月1日 ASP PDFライブラリ:IronPDF、Aspose、Syncfusionの比較 ASP.NET Core アプリケーションに最適な PDF ライブラリを発見しよう。IronPDF の Chrome エンジンを Aspose および Syncfusion の代替案と比較します。 詳しく読む C#でItextsharpを使用してPDFにデジタル署名を追加するIronPDFとの製品比較
更新日 2026年3月1日 ASP.NET MVCでPDFを生成:iTextSharp vs IronPDFガイド iTextSharpとIronPDFを使ってASP.NET MVCのPDF生成方法を比較します。どちらのライブラリがより優れたHTMLレンダリングと簡単な実装を提供するかをご覧ください。 詳しく読む
更新日 2026年2月1日 Ghostscript GPL vs IronPDF:技術比較ガイド Ghostscript GPLとIronPDFの主な違いをご覧ください。AGPLライセンスと商用ライセンス、コマンドラインスイッチと.NETネイティブAPI、HTML-to-PDF機能を比較してください。 詳しく読む
更新日 2026年3月1日 ASP PDFライブラリ:IronPDF、Aspose、Syncfusionの比較 ASP.NET Core アプリケーションに最適な PDF ライブラリを発見しよう。IronPDF の Chrome エンジンを Aspose および Syncfusion の代替案と比較します。 詳しく読む