製品比較 Byte ArrayからC# iTextSharpでPDFを作成(対 IronPDF) Curtis Chau 更新日:8月 20, 2025 Download IronPDF NuGet Download テキストの検索と置換 テキストと画像のスタンプ Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 現代の.NETアプリケーションでは、PDFファイルの作成と管理は一般的な要件です。たとえばレポート、請求書、またはデジタル記録を生成する場合などです。 Developers often turn to third-party PDF libraries for this task, and two of the most popular options in the .NET ecosystem are IronPDF and iText 7 (the successor to iTextSharp). それぞれのライブラリは、さまざまな使用例に強力なツールセットを提供します。 [バイト配列](https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2013/dd831853(v=vs.120)からC#でPDFを生成するのに最適なのはどれでしょうか? この記事では、比較、コード例、.NET開発者が正しい選択をするための洞察を提供します。 企業向けアプリケーションや小規模な内部ツールを構築する際に適切なPDFライブラリの選択は、開発時間の節約や堅牢な出力の保証に役立ちます。 各ライブラリが提供するものを探りましょう。 PDFライブラリの紹介 PDFライブラリは何のために使用されるのですか? C#のPDFライブラリを使用すると、開発者はPDFファイルをプログラム的に生成、操作、読み取ることができます。 さまざまな使用例を持ちます、例えば: レポートや請求書のエクスポート ウェブフォームから動的コンテンツを生成 HTMLページやテンプレートをPDFに変換 ページ番号、チャート、画像などの視覚要素をPDFファイルに追加 文書の結合や分割 PDFのデジタル署名 また、データの携帯性やPDF/Aなどの標準のアーカイブまたはアクセシビリティ要件に準拠する上で重要な役割を果たします。 iTextSharpとIronPDF: 主要候補 使用可能な.NET PDFライブラリの中で、iTextSharpとIronPDFはそれぞれ独自の強みを持つ主要なソリューションとして浮上しています: iTextSharpはJavaのiTextに基づく成熟したオープンソースライブラリで、急な学習曲線とライセンスの条件がありますが、堅牢なPDF制御を提供します。 IronPDFは、モダンな商用ライブラリで、シンプルさ、スピード、およびウェブ統合に焦点を当てており、HTMLやASP.NETビューを直接PDFファイルに変換できます。 適切なライブラリ選択が重要な理由 2つのライブラリの選択は単なる好みの問題ではありません。それは生産性、保守性、パフォーマンス、さらには法的なライセンス遵守にまで影響を与えます。 迅速な展開、頻繁なフォーマット変更、またはHTMLテンプレートからのPDFレンダリングを求めるプロジェクトは、迅速な開発の恩恵を受け、企業レベルのアプリケーションは標準の遵守と長期の維持可能性を優先するかもしれません。 機能比較 iText 7 for .NET(iTextSharpの後継) iText 7はiTextSharpの正式な後継で、完全に再設計されたアーキテクチャを提供します。 これは、法的、金融、政府のようなコンプライアンス重視の業界でPDFを作成、編集、および検証するための強力で拡張可能なライブラリです。 iText 7スイートは、PDF/A、PDF/UA、デジタル署名、墨消し、およびフォーム作成のサポートを含みます。 まだAGPLライセンスのオープンソースですが、商用プロジェクトには商用ライセンスが利用可能です。 iText 7の主な特徴 現代的なAPIで、古い構造を持つiTextSharpを置き換える モジュラーサポート: HTML to PDF、PDF/A、フォーム、墨消し、デジタル署名 企業向けアプリケーションのための高性能 PDF/A、アクセシビリティ、コンプライアンスに最適 ご注意コアPDF操作のためにitext7を使用する必要があり、html2pdfといったオプションのアドオンを個別に含めることができます。 インストール (NuGet) iText 7のPDF生成用コアパッケージをダウンロードするには: Install-Package itext7 iText 7は、ソリューション画面のパッケージマネージャを介してインストールすることもできます。 これを行うには、まずツールドロップダウンメニューを開き、「NuGet パッケージ マネージャ > ソリューションの NuGet パッケージを管理」を見つけます。 その後、「iText 7」を検索し、「インストール」をクリックするだけです。 コード例:バイト配列を使用してiText 7でPDFドキュメントを作成 using System.IO; using iText.Kernel.Pdf; using iText.Layout; using iText.Layout.Element; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.GeneratePdfWithIText7(); // Save the PDF to a file File.WriteAllBytes("output.pdf", pdfBytes); } } class PdfGenerator { public byte[] GeneratePdfWithIText7() { using (var ms = new MemoryStream()) { var writer = new PdfWriter(ms); var pdf = new iText.Kernel.Pdf.PdfDocument(writer); var doc = new Document(pdf); doc.Add(new Paragraph("Hello from iText 7 for .NET!")); doc.Close(); // Always close the document to finalize content return ms.ToArray(); } } } using System.IO; using iText.Kernel.Pdf; using iText.Layout; using iText.Layout.Element; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.GeneratePdfWithIText7(); // Save the PDF to a file File.WriteAllBytes("output.pdf", pdfBytes); } } class PdfGenerator { public byte[] GeneratePdfWithIText7() { using (var ms = new MemoryStream()) { var writer = new PdfWriter(ms); var pdf = new iText.Kernel.Pdf.PdfDocument(writer); var doc = new Document(pdf); doc.Add(new Paragraph("Hello from iText 7 for .NET!")); doc.Close(); // Always close the document to finalize content return ms.ToArray(); } } } Imports System.IO Imports iText.Kernel.Pdf Imports iText.Layout Imports iText.Layout.Element Friend Class Program Shared Sub Main(ByVal args() As String) Dim pdfGenerator As New PdfGenerator() Dim pdfBytes() As Byte = pdfGenerator.GeneratePdfWithIText7() ' Save the PDF to a file File.WriteAllBytes("output.pdf", pdfBytes) End Sub End Class Friend Class PdfGenerator Public Function GeneratePdfWithIText7() As Byte() Using ms = New MemoryStream() Dim writer = New PdfWriter(ms) Dim pdf = New iText.Kernel.Pdf.PdfDocument(writer) Dim doc = New Document(pdf) doc.Add(New Paragraph("Hello from iText 7 for .NET!")) doc.Close() ' Always close the document to finalize content Return ms.ToArray() End Using End Function End Class $vbLabelText $csharpLabel PDFファイルの出力 説明 PdfWriterは、コンテンツをMemoryStreamに書き込みます。 PdfDocumentは、PDFの内部構造を管理します。 Documentは、高レベルのコンテンツ(テキスト、画像、テーブル)を追加するために使用されます。 doc.Close()を呼び出した後、PDFコンテンツは完全に書き込まれ、バイト配列として返される準備が整います。 この例は、iTextSharpと比較してiText 7の<強力でモジュラーかつ読みやすいAPI>を示しています。ただし、pdfhtmlを含めない限り、HTML/CSSのレンダリングにネイティブサポートがない点が欠点です。 iText 7の利点と欠点 利点: 包括的なPDF制御\ iText 7は、テーブル、フォーム、デジタル署名などのPDF要素を完全に制御します。 これにより、PDF/AやPDF/UAなどの特定のPDF標準を必要とするコンプライアンス重視のアプリケーションに最適です。 モジュラーかつスケーラブル\ iText 7はモジュラー設計を採用しており、必要な特定のモジュールのみをインストールできます(例: HTMLからPDFへの変換のためのpdfhtml)。 これにより、すべての機能を使用しない場合は、軽量な実装が可能になります。 複雑なPDF規格をサポート\ iText 7は、ISO規格であるPDF/A(アーカイブ)、PDF/UA(アクセシビリティ)、PDF/X(印刷)をサポートしており、コンプライアンスが重要なプロフェッショナルおよび法的環境に適しています。 豊富なドキュメントとサポート\ iText 7は、包括的なドキュメントと大規模なコミュニティを持っています。 また、会社はプロフェッショナルサポートを提供しており、開発者が必要なときに支援を受けられます。 無料版利用可能(AGPL)\ 開発者は、iText 7をAGPLライセンスの下で無料で使用でき、オープンソースプロジェクトや個人的な使用に最適です。 欠点: 商用利用のためのAGPLライセンス\ iText 7は無料版を提供していますが、商用利用者はAGPLライセンスに従わなければならず、iText 7を使用したソフトウェアのソースコードを公開するか、商用ライセンスを購入する必要があります。 急な学習曲線\ iText 7のAPIは、より複雑かつ機能豊富であるため、IronPDFのようなシンプルなライブラリに比べて学習曲線が急です。 開発者は、その低レベルの文書構造とモジュール基盤のアーキテクチャを習得する必要があります。 単純なタスクには過剰\ iText 7は、IronPDFのようにプロセスを簡素化するライブラリと比較して、単純な文書作成や基本的なHTMLからPDFへの変換など、基本的なPDFタスクには煩雑に感じるかもしれません。 HTMLからPDFへの変換には外部モジュールが必要\ iText 7のHTMLからPDFへの変換は、追加のpdfhtmlモジュールを通じてのみ利用可能であり、別途インストールが必要で、IronPDFほどスムーズに現代のウェブコンテンツを処理できない可能性があります。 IronPDF for .NET: 強力なPDFライブラリ IronPDFは、開発者の生産性に焦点を当てたPDF文書生成を簡素化するために設計された高レベルの.NETライブラリです。 特にHTMLコンテンツとスタイリングのレンダリングに効果的であり、モダンなウェブからPDFへのワークフローに最適です。 主な特徴: バイト配列からPDFファイルを作成し、Adobe ReaderをインストールせずにPDF文書を操作 完全なChromiumエンジンを使用した直接的なHTMLからPDFへのレンダリングでHTMLコンテンツからPDF文書を作成 MVCビュー、Razorページ、ローカルおよびリモートURLで動作 画像ファイル、JavaScript、CSS、およびレスポンシブレイアウトをアウトオブザボックスでサポート 簡単に使用できる構文と最小限のセットアップ 永続的なライセンスとAGPL制約なし IronPDFのインストール IronPDFもまた、NuGetを介してインストール可能で、NuGet パッケージ マネージャーコンソールで次のコマンドを実行してインストールします: Install-Package IronPdf または、NuGetパッケージマネージャでソリューション画面からインストールすることができます。 これを行うには、「ツール > NuGetパッケージマネージャ > ソリューションのNuGetパッケージを管理」へ移動します。 その後、「IronPDF」を検索し、「インストール」をクリックします。 インストール後、フルHTMLページのPDFへのレンダリングを数秒で開始できます—追加のモジュールは必要ありません。 モダンなCSS、JavaScript、インタラクティブなウェブコンテンツを追加設定なしでサポートします。 コード例:バイト配列でIronPDFを使用してPDFドキュメントを作成 using IronPdf; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.GeneratePdfWithIronPdf(); // Save the PDF to a file File.WriteAllBytes("output.pdf", pdfBytes); } } class PdfGenerator { public byte[] GeneratePdfWithIronPdf() { var renderer = new ChromePdfRenderer(); var pdfDoc = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1>"); return pdfDoc.BinaryData; } } using IronPdf; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.GeneratePdfWithIronPdf(); // Save the PDF to a file File.WriteAllBytes("output.pdf", pdfBytes); } } class PdfGenerator { public byte[] GeneratePdfWithIronPdf() { var renderer = new ChromePdfRenderer(); var pdfDoc = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1>"); return pdfDoc.BinaryData; } } Imports IronPdf Imports System.IO Friend Class Program Shared Sub Main(ByVal args() As String) Dim pdfGenerator As New PdfGenerator() Dim pdfBytes() As Byte = pdfGenerator.GeneratePdfWithIronPdf() ' Save the PDF to a file File.WriteAllBytes("output.pdf", pdfBytes) End Sub End Class Friend Class PdfGenerator Public Function GeneratePdfWithIronPdf() As Byte() Dim renderer = New ChromePdfRenderer() Dim pdfDoc = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1>") Return pdfDoc.BinaryData End Function End Class $vbLabelText $csharpLabel PDFファイルの出力 説明 using IronPdfステートメントは、すべてのPDF関連クラスへアクセスするためにIronPDFライブラリをインポートします。 var renderer = new ChromePdfRenderer()は、ヘッドレスChromiumエンジンによる新しいHTMLからPDFレンダラーを作成します。 renderer.RenderHtmlAsPdf(...)は、指定されたHTML文字列をPDF文書に変換します。 また、ファイルパスやURLを渡すこともできます。 pdfDoc.BinaryDataは、保存、ストリーミング、またはデータベース保存のために、最終的なPDFをバイト配列として返します。 IronPDFの利点と欠点 利点: 簡単なHTMLからPDFへのレンダリング\ 完全なスタイリングでHTML、CSS、JavaScriptコンテンツをまっすぐにPDFにレンダリング、複雑なレイアウトコードや追加モジュールは不要です。 クイックスタートと直感的なAPI\ クリーンな構文と完全な.NET Coreおよび.NET Frameworkの互換性を持ち、わずか数行のコードでフルスタイルのPDFファイルを作成します。 ウェブテクノロジーの包括的なサポート\ IronPDFは、JavaScript、モダンCSS、SVG、メディアクエリをサポートしており、Chromiumのようなヘッドレスブラウザを内部で使用しなければ多くのライブラリが苦しむ領域をカバーしています。 ビルトインの画像とアセット処理\ 追加設定なしで、画像、ローカルファイル、さらにはリモートURLからアセットを簡単に含むことができます。 永続ライセンスとAGPLなし\ iText 7とは異なり、IronPDFは、オープンソースのAGPL義務の制約なしで商用ライセンスを柔軟に提供します。 MVCとRazorビューのために優秀\ ASP.NETアプリケーションで.cshmtl Razor Viewsをシームレスに印刷可能なPDFに変換します。 欠点: 商用利用にはライセンスが必要\ 無料トライアルがありますが、IronPDFはオープンソースではありません。 予算の厳しいプロジェクトはライセンスコストを評価する必要があります。 初期パッケージサイズが大きい\ ヘッドレスChromiumエンジンをバンドルしているため、NuGetパッケージは一部の代替品よりも重いです。 実用的なコード例の比較 このセクションの以下のコード例は、これらのライブラリの実際の使用を示しています。それにより、IronPDFとiText 7を同じタスクで比較します。 両方のライブラリは、URLからPDFの生成、画像をPDFとしてレンダリング、スタイル付きHTMLをPDFに変換するという同じシナリオで評価されますが、その過程でPDFコンテンツの扱いにはバイト配列が使用されます。 これは開発者が各ライブラリがこれら共通の使用例にどのようにアプローチするかを評価することを可能にします。 1. バイト配列を使用してURLからシンプルなPDFを生成 IronPDF using IronPdf; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.GeneratePdfFromUrlWithIronPdf(); // Save the PDF to a file File.WriteAllBytes("ironpdf-from-url.pdf", pdfBytes); } } class PdfGenerator { public byte[] GeneratePdfFromUrlWithIronPdf() { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.WaitForJavaScript(5000); renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; var pdf = renderer.RenderUrlAsPdf("https://www.apple.com"); return pdf.BinaryData; } } using IronPdf; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.GeneratePdfFromUrlWithIronPdf(); // Save the PDF to a file File.WriteAllBytes("ironpdf-from-url.pdf", pdfBytes); } } class PdfGenerator { public byte[] GeneratePdfFromUrlWithIronPdf() { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.WaitForJavaScript(5000); renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; var pdf = renderer.RenderUrlAsPdf("https://www.apple.com"); return pdf.BinaryData; } } Imports IronPdf Imports System.IO Friend Class Program Shared Sub Main(ByVal args() As String) Dim pdfGenerator As New PdfGenerator() Dim pdfBytes() As Byte = pdfGenerator.GeneratePdfFromUrlWithIronPdf() ' Save the PDF to a file File.WriteAllBytes("ironpdf-from-url.pdf", pdfBytes) End Sub End Class Friend Class PdfGenerator Public Function GeneratePdfFromUrlWithIronPdf() As Byte() Dim renderer = New ChromePdfRenderer() renderer.RenderingOptions.EnableJavaScript = True renderer.RenderingOptions.WaitForJavaScript(5000) renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print Dim pdf = renderer.RenderUrlAsPdf("https://www.apple.com") Return pdf.BinaryData End Function End Class $vbLabelText $csharpLabel 出力PDF IronPDFは、完全なJavaScriptとCSSのサポートを備えたウェブページのためのピクセルパーフェクトレンダリングをヘッドレスChromiumエンジンを使用して提供します。 iText 7 using iText.Kernel.Pdf; using iText.Layout; using iText.Layout.Element; using System.Net.Http; using System.Threading.Tasks; using iText.Html2pdf; using System.IO; class Program { static async Task Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = await pdfGenerator.GeneratePdfFromUrlWithIText7Async(); // Save the PDF to a file File.WriteAllBytes("itext7-from-url.pdf", pdfBytes); } } class PdfGenerator { public async Task<byte[]> GeneratePdfFromUrlWithIText7Async() { using var httpClient = new HttpClient(); string html = await httpClient.GetStringAsync("https://www.apple.com"); using var stream = new MemoryStream(); HtmlConverter.ConvertToPdf(html, stream); return stream.ToArray(); } } using iText.Kernel.Pdf; using iText.Layout; using iText.Layout.Element; using System.Net.Http; using System.Threading.Tasks; using iText.Html2pdf; using System.IO; class Program { static async Task Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = await pdfGenerator.GeneratePdfFromUrlWithIText7Async(); // Save the PDF to a file File.WriteAllBytes("itext7-from-url.pdf", pdfBytes); } } class PdfGenerator { public async Task<byte[]> GeneratePdfFromUrlWithIText7Async() { using var httpClient = new HttpClient(); string html = await httpClient.GetStringAsync("https://www.apple.com"); using var stream = new MemoryStream(); HtmlConverter.ConvertToPdf(html, stream); return stream.ToArray(); } } Imports iText.Kernel.Pdf Imports iText.Layout Imports iText.Layout.Element Imports System.Net.Http Imports System.Threading.Tasks Imports iText.Html2pdf Imports System.IO Friend Class Program Shared Async Function Main(ByVal args() As String) As Task Dim pdfGenerator As New PdfGenerator() Dim pdfBytes() As Byte = Await pdfGenerator.GeneratePdfFromUrlWithIText7Async() ' Save the PDF to a file File.WriteAllBytes("itext7-from-url.pdf", pdfBytes) End Function End Class Friend Class PdfGenerator Public Async Function GeneratePdfFromUrlWithIText7Async() As Task(Of Byte()) Dim httpClient As New HttpClient() Dim html As String = Await httpClient.GetStringAsync("https://www.apple.com") Dim stream = New MemoryStream() HtmlConverter.ConvertToPdf(html, stream) Return stream.ToArray() End Function End Class $vbLabelText $csharpLabel 出力 iText 7は、HttpClientを使用して生のHTMLをフェッチし、HtmlConverterを使用してレンダリングしますが、JavaScriptの実行をサポートしていません(iTextの公式ドキュメントで、JavaScriptの事前処理にSeleniumや同様のブラウザオートメーションの使用を推奨しているため確認済み)で、CSSスタイリングが制限されています。 iText7は、バージョン7.1.15(2021年)で部分的なflexboxサポートを追加しましたが、多くのCSS3プロパティは、特に複雑なモダンレイアウトにおいて未サポートのままです。 2. バイト配列を使用して画像から新しいPDFファイルを作成 IronPDF using IronPdf; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.CreatePdfWithImage(); // Save the PDF to a file File.WriteAllBytes("ironpdf-with-image.pdf", pdfBytes); } } class PdfGenerator { public byte[] CreatePdfWithImage() { var pdf = ImageToPdfConverter.ImageToPdf("example.png"); return pdf.BinaryData; } } using IronPdf; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.CreatePdfWithImage(); // Save the PDF to a file File.WriteAllBytes("ironpdf-with-image.pdf", pdfBytes); } } class PdfGenerator { public byte[] CreatePdfWithImage() { var pdf = ImageToPdfConverter.ImageToPdf("example.png"); return pdf.BinaryData; } } Imports IronPdf Imports System.IO Friend Class Program Shared Sub Main(ByVal args() As String) Dim pdfGenerator As New PdfGenerator() Dim pdfBytes() As Byte = pdfGenerator.CreatePdfWithImage() ' Save the PDF to a file File.WriteAllBytes("ironpdf-with-image.pdf", pdfBytes) End Sub End Class Friend Class PdfGenerator Public Function CreatePdfWithImage() As Byte() Dim pdf = ImageToPdfConverter.ImageToPdf("example.png") Return pdf.BinaryData End Function End Class $vbLabelText $csharpLabel 出力 IronPDFのImageToPdfConverterツールを使用した、簡単な画像からPDFの生成。 これにより、PNGファイルやJPGなどの画像から簡単にPDFファイルを作成できます。 iText 7 using iText.Kernel.Pdf; using iText.Layout; using iText.IO.Image; using iText.Layout.Element; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.CreatePdfWithImage(); // Save the PDF to a file File.WriteAllBytes("iText-with-image.pdf", pdfBytes); } } class PdfGenerator { public byte[] CreatePdfWithImage() { using var ms = new MemoryStream(); using var writer = new PdfWriter(ms); using var pdfDoc = new iText.Kernel.Pdf.PdfDocument(writer); var document = new Document(pdfDoc); var img = new Image(ImageDataFactory.Create("https://itextpdf.com/sites/default/files/2018-11/iText%207%20Product%20software%20-%20webimages_509x339px_V2_iText%207%20Core.png")); document.Add(img); document.Close(); return ms.ToArray(); } } using iText.Kernel.Pdf; using iText.Layout; using iText.IO.Image; using iText.Layout.Element; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.CreatePdfWithImage(); // Save the PDF to a file File.WriteAllBytes("iText-with-image.pdf", pdfBytes); } } class PdfGenerator { public byte[] CreatePdfWithImage() { using var ms = new MemoryStream(); using var writer = new PdfWriter(ms); using var pdfDoc = new iText.Kernel.Pdf.PdfDocument(writer); var document = new Document(pdfDoc); var img = new Image(ImageDataFactory.Create("https://itextpdf.com/sites/default/files/2018-11/iText%207%20Product%20software%20-%20webimages_509x339px_V2_iText%207%20Core.png")); document.Add(img); document.Close(); return ms.ToArray(); } } Imports iText.Kernel.Pdf Imports iText.Layout Imports iText.IO.Image Imports iText.Layout.Element Imports System.IO Friend Class Program Shared Sub Main(ByVal args() As String) Dim pdfGenerator As New PdfGenerator() Dim pdfBytes() As Byte = pdfGenerator.CreatePdfWithImage() ' Save the PDF to a file File.WriteAllBytes("iText-with-image.pdf", pdfBytes) End Sub End Class Friend Class PdfGenerator Public Function CreatePdfWithImage() As Byte() Dim ms = New MemoryStream() Dim writer = New PdfWriter(ms) Dim pdfDoc = New iText.Kernel.Pdf.PdfDocument(writer) Dim document As New Document(pdfDoc) Dim img = New Image(ImageDataFactory.Create("https://itextpdf.com/sites/default/files/2018-11/iText%207%20Product%20software%20-%20webimages_509x339px_V2_iText%207%20Core.png")) document.Add(img) document.Close() Return ms.ToArray() End Function End Class $vbLabelText $csharpLabel 出力 ImageDataFactoryを使用した文書レイアウトの手動作成と明示的な画像挿入。 3. スタイル付きHTMLコンテンツをバイト配列でPDFに変換 IronPDF using IronPdf; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.CreateStyledPdf(); // Save the PDF to a file File.WriteAllBytes("ironpdf-styled-html.pdf", pdfBytes); } } class PdfGenerator { public byte[] CreateStyledPdf() { string html = @" <html> <head> <style> body { background-color: #f0f0f0; margin: 20px; padding: 20px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } h1 { color: navy; font-size: 32px; text-align: center; } p { font-size: 16px; font-weight: bold; } </style> </head> <body> <h1>Welcome to IronPDF</h1> <p>This is a simple PDF document generated using IronPDF.</p> </body> </html>"; var pdf = new ChromePdfRenderer().RenderHtmlAsPdf(html); return pdf.BinaryData; } } using IronPdf; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.CreateStyledPdf(); // Save the PDF to a file File.WriteAllBytes("ironpdf-styled-html.pdf", pdfBytes); } } class PdfGenerator { public byte[] CreateStyledPdf() { string html = @" <html> <head> <style> body { background-color: #f0f0f0; margin: 20px; padding: 20px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } h1 { color: navy; font-size: 32px; text-align: center; } p { font-size: 16px; font-weight: bold; } </style> </head> <body> <h1>Welcome to IronPDF</h1> <p>This is a simple PDF document generated using IronPDF.</p> </body> </html>"; var pdf = new ChromePdfRenderer().RenderHtmlAsPdf(html); return pdf.BinaryData; } } Imports IronPdf Imports System.IO Friend Class Program Shared Sub Main(ByVal args() As String) Dim pdfGenerator As New PdfGenerator() Dim pdfBytes() As Byte = pdfGenerator.CreateStyledPdf() ' Save the PDF to a file File.WriteAllBytes("ironpdf-styled-html.pdf", pdfBytes) End Sub End Class Friend Class PdfGenerator Public Function CreateStyledPdf() As Byte() Dim html As String = " <html> <head> <style> body { background-color: #f0f0f0; margin: 20px; padding: 20px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } h1 { color: navy; font-size: 32px; text-align: center; } p { font-size: 16px; font-weight: bold; } </style> </head> <body> <h1>Welcome to IronPDF</h1> <p>This is a simple PDF document generated using IronPDF.</p> </body> </html>" Dim pdf = (New ChromePdfRenderer()).RenderHtmlAsPdf(html) Return pdf.BinaryData End Function End Class $vbLabelText $csharpLabel 出力 IronPDFはそのChromiumエンジンのおかげで、タグや外部スタイルシート内のCSSを完全にサポートしています。 iText 7 + pdfHTML using iText.Kernel.Pdf; using iText.Html2pdf; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.CreateStyledPdf(); // Save the new document to the specified file location File.WriteAllBytes("iText-styled-html.pdf", pdfBytes); } } class PdfGenerator { public byte[] CreateStyledPdf() { string html = @" <html> <head> <style> body { background-color: #f0f0f0; margin: 20px; padding: 20px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } h1 { color: navy; font-size: 32px; text-align: center; } p { font-size: 16px; font-weight: bold; } </style> </head> <body> <h1>Welcome to iText 7</h1> <p>This is a simple PDF document generated using iText 7 and pdfHTML.</p> </body> </html>"; using var ms = new MemoryStream(); ConverterProperties properties = new ConverterProperties(); HtmlConverter.ConvertToPdf(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(html)), ms, properties); return ms.ToArray(); } } using iText.Kernel.Pdf; using iText.Html2pdf; using System.IO; class Program { static void Main(string[] args) { var pdfGenerator = new PdfGenerator(); byte[] pdfBytes = pdfGenerator.CreateStyledPdf(); // Save the new document to the specified file location File.WriteAllBytes("iText-styled-html.pdf", pdfBytes); } } class PdfGenerator { public byte[] CreateStyledPdf() { string html = @" <html> <head> <style> body { background-color: #f0f0f0; margin: 20px; padding: 20px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } h1 { color: navy; font-size: 32px; text-align: center; } p { font-size: 16px; font-weight: bold; } </style> </head> <body> <h1>Welcome to iText 7</h1> <p>This is a simple PDF document generated using iText 7 and pdfHTML.</p> </body> </html>"; using var ms = new MemoryStream(); ConverterProperties properties = new ConverterProperties(); HtmlConverter.ConvertToPdf(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(html)), ms, properties); return ms.ToArray(); } } Imports iText.Kernel.Pdf Imports iText.Html2pdf Imports System.IO Friend Class Program Shared Sub Main(ByVal args() As String) Dim pdfGenerator As New PdfGenerator() Dim pdfBytes() As Byte = pdfGenerator.CreateStyledPdf() ' Save the new document to the specified file location File.WriteAllBytes("iText-styled-html.pdf", pdfBytes) End Sub End Class Friend Class PdfGenerator Public Function CreateStyledPdf() As Byte() Dim html As String = " <html> <head> <style> body { background-color: #f0f0f0; margin: 20px; padding: 20px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } h1 { color: navy; font-size: 32px; text-align: center; } p { font-size: 16px; font-weight: bold; } </style> </head> <body> <h1>Welcome to iText 7</h1> <p>This is a simple PDF document generated using iText 7 and pdfHTML.</p> </body> </html>" Dim ms = New MemoryStream() Dim properties As New ConverterProperties() HtmlConverter.ConvertToPdf(New MemoryStream(System.Text.Encoding.UTF8.GetBytes(html)), ms, properties) Return ms.ToArray() End Function End Class $vbLabelText $csharpLabel 出力 HTML変換タスクを処理するためには有料のアドオンであるpdfHTMLのインストールが必要です。 比較概要 機能 IronPDF iText 7 (pdfHTML付き) URLをPDFにレンダリング 完全なChromiumレンダリング HTMLをフェッチし、ネイティブJSのサポートなし 画像を追加 HTML経由で埋め込むか専用の画像スタンプツールで 手動の画像ファクトリ スタイル付きHTMLをレンダリング 完全なCSSサポート CSSサポートはpdfHTMLを通してのみ バイト配列として返却 はい はい セットアップの複雑さ 簡単 中度(手動レイアウト) 出力品質 ピクセルパーフェクト 良好だが静的 結論:どの.NETライブラリを選択すべきか? Choosing between IronPDF and iText 7 depends on your project’s needs — but when it comes to developer experience, ease of use, and modern rendering accuracy, IronPDF clearly stands out. If you're working with dynamic HTML content, web rendering, or need to create PDF files from URLs with full JavaScript and CSS support, IronPDF's Chromium-based engine delivers unmatched fidelity. その直感的なAPIと迅速なセットアップにより、特にバイト配列、ファイルストリーム、あるいはウェブベースのPDF生成での実際の生産環境を前提とした迅速な開発と実際のプロダクション使用に最適です。 一方、iText 7は、ドキュメントの構造を細かに制御し、細かい操作を必要とする開発者に最適な、強力で高評価のライブラリです。ただし、学習曲線が急で、現代的なHTMLレンダリング機能が不足しています。 結論: モダンなウェブコンテンツ、スタイル付きHTML、または迅速なプロトタイピングからのピクセルパーフェクト出力が必要ですか? IronPDFを選んでください。 * 低レベルのPDF作成ツールが必要で詳細な制御が可能ですか? iText 7がお勧めです。 >> IronPDFを始める準備はできましたか?\ 無料トライアルをダウンロードして、C#で数行のコードでプロフェッショナルでバイト配列ベースのPDFを簡単に作成する方法を確認してください。 ご注意iText 7はその所有者の登録商標です。 このサイトはiText 7と提携、承認、または後援されていません。すべての製品名、ロゴ、およびブランドはそれぞれの所有者の財産です。} This site is not affiliated with, endorsed by, or sponsored by iText 7. All product names, logos, and brands are property of their respective owners. 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。 よくある質問 C#でバイト配列をPDFに変換するにはどうすればよいですか? IronPDFを使用して、C#でバイト配列をPDFに変換できます。`PdfDocument.FromBytes`メソッドを使用してバイト配列をIronPDFドキュメントに読み込むだけで、データを解析してPDFドキュメントを生成します。 HTMLからPDFへの変換にIronPDFを使用する利点は何ですか? IronPDFは最新のCSSとJavaScriptをサポートするヘッドレスChromiumエンジンを使用しているため、HTMLからPDFに変換する際に優れています。これにより、動的なウェブコンテンツをピクセルパーフェクトなPDFドキュメントにレンダリングするのに最適です。 PDF生成のためにIronPDFをiText 7より優先する主な利点は何ですか? IronPDFはHTMLをPDFに変換するためのシンプルなAPIと迅速なセットアップを提供し、CSSとJavaScriptをフルサポートします。特に迅速な開発とウェブコンテンツ統合を必要とするアプリケーションに適しています。 iText 7はPDFの準拠をどのように扱っていますか? iText 7はPDF/A、PDF/UA、およびPDF/Xなどの標準をサポートする準拠に厳しい業界向けに設計されており、PDF作成に対して強力な制御を提供するため、準拠が非常に重要なアプリケーションに適しています。 .NETプロジェクトにIronPDFをインストールする手順は何ですか? IronPDFをインストールするには、Visual StudioでNuGetパッケージマネージャーを使用できます。パッケージマネージャーコンソールで`Install-Package IronPdf`コマンドを実行して、プロジェクトに追加します。 IronPDFはASP.NETのビューからPDFを作成できますか? はい、IronPDFはASP.NETのビューを直接PDFドキュメントにレンダリングできます。この機能により、開発者は複雑なレイアウトとスタイルを持つウェブページを簡単にPDFに変換できます。 どのような種類のアプリケーションがIronPDFの使用から最も恩恵を受けますか? レポートや請求書のような動的ウェブコンテンツをPDFに変換する必要があるアプリケーションは、IronPDFの使用から最も恩恵を受けます。迅速なセットアップとウェブ技術サポートにより、頻繁な更新やモダンなデザインを必要とするプロジェクトに最適です。 iText 7のモジュラーアーキテクチャはその利用にどのように影響しますか? iText 7のモジュラーアーキテクチャにより、HTML変換やデジタル署名のような特定のPDF機能を必要に応じて追加できます。これにより柔軟性が提供されますが、各モジュールに対する追加の学習やインストールが必要になることがあります。 IronPDFとiText 7のライセンスの違いは何ですか? IronPDFはAGPLの制約なしで商用アプリケーションに適した永続的なライセンスを提供します。一方、iText 7はオープンソースプロジェクト向けにAGPLライセンスで提供されており、商用利用には有料ライセンスが必要です。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 公開日 11月 13, 2025 C#のHTMLからPDFへのオープンソース対IronPDFの比較 C#用のオープンソースのHTMLからPDFライブラリをIronPDFと比較します。あなたの.NETプロジェクトに最適なPDF生成能力を提供するソリューションを見つけましょう。 詳しく読む 公開日 10月 27, 2025 どのASP.NET Core PDFライブラリが最も価値がありますか? ASP.NET Core アプリケーションに最適な PDF ライブラリを発見しよう。IronPDF の Chrome エンジンを Aspose および Syncfusion の代替案と比較します。 詳しく読む 公開日 10月 27, 2025 Aspose C# VS IronPDFでPDFを作成する方法 このステップバイステップガイドで、開発者向けにデザインされた Aspose C# と IronPDF を使用して PDF を作成する方法を学びましょう。 詳しく読む IronPDFとFoxit PDF SDKの比較PDFの編集のためのiTextSharp...
公開日 11月 13, 2025 C#のHTMLからPDFへのオープンソース対IronPDFの比較 C#用のオープンソースのHTMLからPDFライブラリをIronPDFと比較します。あなたの.NETプロジェクトに最適なPDF生成能力を提供するソリューションを見つけましょう。 詳しく読む
公開日 10月 27, 2025 どのASP.NET Core PDFライブラリが最も価値がありますか? ASP.NET Core アプリケーションに最適な PDF ライブラリを発見しよう。IronPDF の Chrome エンジンを Aspose および Syncfusion の代替案と比較します。 詳しく読む
公開日 10月 27, 2025 Aspose C# VS IronPDFでPDFを作成する方法 このステップバイステップガイドで、開発者向けにデザインされた Aspose C# と IronPDF を使用して PDF を作成する方法を学びましょう。 詳しく読む