製品比較 iTextSharp C# HTML から PDF への代替 .NET Core Curtis Chau 更新日:7月 28, 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 PDFを扱う開発者にとって、信頼できるPDF生成と操作のためのライブラリを持つことは不可欠です。 まず、.NETエコシステムでは、選択肢として多数のC#のPDFライブラリが存在します。それでは、どれがあなたのニーズに最適かをどう選択しますか? PDF機能を備えた.NETアプリケーションで作業する際には、適切なライブラリを選択することが、効率的な開発にとって非常に重要です。 This article provides a detailed comparison between two prominent C# PDF libraries: IronPDF and iText 7 (formerly known as iTextSharp). 彼らの機能、パフォーマンス、ライセンス、さまざまなプロジェクト要件への適合性を探り、情報に基づいた意思決定を支援します。 なぜ.NET PDFライブラリを選択するのか? PDFはレポート、請求書、法的文書で広く使用されており、PDFの生成と操作は多くのアプリケーションにとって重要です。 ライブラリを選択する際に考慮すべき重要な要素には次のものがあります: 統合の容易さ — PDF機能をどれくらいすばやく実装できますか? HTMLからPDFへのサポート — ウェブコンテンツから簡単に変換できるか? ライセンスとコスト — 無料か、有料の商用ライセンスが必要か? 機能セット — テキスト抽出、署名、編集をサポートしているか? パフォーマンス — PDF生成や処理の速さはどうか? IronPDFとiText7の概要 IronPDFの紹介 IronPDFは特に.NET開発者のために設計された商用PDFライブラリです。 これはPDFの生成、操作、変換を簡素化しており、その使いやすさからC#アプリケーションでの使用が非常に便利です。 IronPDFは.NET Core、.NET Framework、.NET Standardをサポートしており、さまざまな.NET環境での互換性を保証します。 その高いプラットフォーム間の互換性から、異なるアプリ環境で働くチームにとって理想的な選択肢となり、Visual StudioのようなIDEともスムーズに統合されます。 .NETバージョン以外にも、IronPDFはJava、Python、Node.jsでも利用可能です。 主な特徴: Built-in HTML-to-PDF support – Convert web pages, HTML, CSS, and JavaScript into PDFs without extra add-ons. PDF Editing – Modify existing PDFs by adding text, images, headers, and footers. PDFセキュリティ — PDFを暗号化し、パスワード保護を設定して、表示、印刷、または編集の権限を管理。 透かしと注釈 — テキストと画像の透かし、スタンプ、またはコメントを簡単に適用。 フォーム入力とデータ抽出 — インタラクティブなPDFフォームにプログラムから入力し、フォームデータを抽出。 おすすめ: 追加モジュールや複雑なライセンスの手間をかけずに、シンプルですべてが揃ったソリューションを求める開発者。 iText7の紹介 iText7は強力で柔軟なPDFライブラリであり、文書の作成、暗号化、署名を含む広範なPDF操作機能を提供します。 しかし、そのコアライブラリはHTMLからPDFへの変換をネイティブサポートしていません。 主な機能 低レベルのPDFカスタマイズ — PDF構造、メタデータ、レンダリングの詳細な制御を提供。 アクセシビリティとコンプライアンス:長期保存とアクセシビリティコンプライアンスのためのPDF/A、PDF/UA、PDF/Xを生成。 HTMLからPDFへの変換: 有料のpdfHTMLアドオンによりHTMLコンテンツのPDFへの変換が可能。 Java&.NETサポート: 主にJava用に設計され、C#サポートは.NET向けiText 7で提供。 PDFフォーム管理: インタラクティブなPDFフォームのためのAcroFormsおよびXFAフォームの作成と編集。 おすすめ対象:高度にカスタマイズ可能なPDFソリューションが必要で、追加機能のためにアドオンを購入する意思のある開発者。 機能と利点 機能とその関連コード例を紹介する前に、IronPDFとiText 7の間の最大の機能的違いであるHTMLからPDFへの変換についてまず確認します。 IronPDF はHTML、CSS、JavaScriptのレンダリングを追加コンポーネントなしでサポートします。 iText 7 は対照的に、pdfHTMLアドオンが必要で、これは商用ライセンス下の有料機能です。 これはweb-to-PDF機能を必要とする開発者のコストを増加させます。 結論: HTMLからPDFへの変換が必要な場合には、IronPDFがコスト効率の高いソリューションで、標準でこの機能を含んでいます。 IronPDFの主な機能(コード例付き) IronPDFはPDFドキュメントで作業するための豊富な機能セットを誇ります。 これにはPDFの作成からPDFの操作、セキュリティが含まれます。 このライブラリが提供する機能の広範囲な範囲についての明確なアイデアを得るために、いくつかの主要な機能を見てみます。 HTML から PDF への変換 HTMLコンテンツを IronPDFの強力なレンダリングエンジンを使用して高品質のPDFドキュメントに変換します。 IronPDFのレンダラーは単にHTMLコンテンツを変換するだけではありません; これにより、すべての元のCSSスタイリングおよびJavaScriptのインタラクティビティを維持できます。 using IronPdf; public class Program { static void Main(string[] args) { // Create a new ChromePdfRenderer instance for rendering HTML to PDF ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the specified HTML file as a PDF document PdfDocument pdf = renderer.RenderHtmlFileAsPdf("example.html"); // Save the rendered PDF to the specified file path pdf.SaveAs("HtmlToPdf.pdf"); } } using IronPdf; public class Program { static void Main(string[] args) { // Create a new ChromePdfRenderer instance for rendering HTML to PDF ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the specified HTML file as a PDF document PdfDocument pdf = renderer.RenderHtmlFileAsPdf("example.html"); // Save the rendered PDF to the specified file path pdf.SaveAs("HtmlToPdf.pdf"); } } Imports IronPdf Public Class Program Shared Sub Main(ByVal args() As String) ' Create a new ChromePdfRenderer instance for rendering HTML to PDF Dim renderer As New ChromePdfRenderer() ' Render the specified HTML file as a PDF document Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("example.html") ' Save the rendered PDF to the specified file path pdf.SaveAs("HtmlToPdf.pdf") End Sub End Class $vbLabelText $csharpLabel 入力HTML 出力PDF このコード例では、最初に新しいChromePdfRendererインスタンスを作成し、HTMLをPDFにレンダリングするためにIronPDFが使用する強力なレンダリングエンジンにアクセスしています。 次に、RenderHtmlFileAsPdf()メソッドにHTMLファイルを渡し、HTMLをPdfDocumentオブジェクトに保存されるPDFにレンダリングします。 最後に、PDFを指定されたファイルの場所に保存します。 URLをPDFに URLコンテンツをPDFに変換したい開発者は、IronPDF以外を探す必要はありません。 このライブラリを使用すれば、URLからPDFをレンダリングする際に、元のスタイリングとレイアウトをすべて維持しながらChromePdfRendererレンダリングエンジンを使用してピクセルパーフェクトなPDFドキュメントを作成できます。 この例では、より複雑なCSSスタイリングを扱えるIronPDFを実証するためにこのURLを利用します。 using IronPdf; public class Program { static void Main(string[] args) { // Create a new ChromePdfRenderer instance ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the specified URL as a PDF document PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com"); // Save the rendered PDF to the specified file path pdf.SaveAs("UrlToPdf.pdf"); } } using IronPdf; public class Program { static void Main(string[] args) { // Create a new ChromePdfRenderer instance ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the specified URL as a PDF document PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com"); // Save the rendered PDF to the specified file path pdf.SaveAs("UrlToPdf.pdf"); } } Imports IronPdf Public Class Program Shared Sub Main(ByVal args() As String) ' Create a new ChromePdfRenderer instance Dim renderer As New ChromePdfRenderer() ' Render the specified URL as a PDF document Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.apple.com") ' Save the rendered PDF to the specified file path pdf.SaveAs("UrlToPdf.pdf") End Sub End Class $vbLabelText $csharpLabel PDF出力: HTMLからPDFへの例と同様に、IronPDFを使用してURLをPDFに変換する最初のステップは、新しいChromePdfRendererインスタンスを作成することです。 メソッドがURLコンテンツをRenderUrlAsPdfを使用してPDF形式にレンダリングした後、結果のPDFを新しいPdfDocumentオブジェクトに保存し、SaveAsメソッドを使用してPDFを保存します。 PDF 署名 PDFドキュメントにデジタル署名を適用してその信頼性を確認します。 開発者が考慮するかもしれないデジタル署名を適用する方法には、セキュアな証明書でPDFにデジタル署名をすること、PDFに署名の手書き画像を追加すること、またはPDF自体に証明書の画像をスタンプすることがあります。 using IronPdf; using IronPdf.Signing; using System.Security.Cryptography.X509Certificates; using IronSoftware.Drawing; public class Program { static void Main(string[] args) { // Load the certificate used for signing the PDF X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable); // Create a PdfSignature instance and set the signature image var sig = new PdfSignature(cert); sig.SignatureImage = new PdfSignatureImage("IronPdf.png", 0, new Rectangle(150, 100, 350, 250)); // Sign the existing PDF file and save the signed version sig.SignPdfFile("product_report.pdf"); } } using IronPdf; using IronPdf.Signing; using System.Security.Cryptography.X509Certificates; using IronSoftware.Drawing; public class Program { static void Main(string[] args) { // Load the certificate used for signing the PDF X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable); // Create a PdfSignature instance and set the signature image var sig = new PdfSignature(cert); sig.SignatureImage = new PdfSignatureImage("IronPdf.png", 0, new Rectangle(150, 100, 350, 250)); // Sign the existing PDF file and save the signed version sig.SignPdfFile("product_report.pdf"); } } Imports IronPdf Imports IronPdf.Signing Imports System.Security.Cryptography.X509Certificates Imports IronSoftware.Drawing Public Class Program Shared Sub Main(ByVal args() As String) ' Load the certificate used for signing the PDF Dim cert As New X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable) ' Create a PdfSignature instance and set the signature image Dim sig = New PdfSignature(cert) sig.SignatureImage = New PdfSignatureImage("IronPdf.png", 0, New Rectangle(150, 100, 350, 250)) ' Sign the existing PDF file and save the signed version sig.SignPdfFile("product_report.pdf") End Sub End Class $vbLabelText $csharpLabel 出力PDF この例では、証明書オブジェクトを読み込み、署名のビジュアル表現、または私たちの場合はIronPDFの画像を作成し、PDFドキュメント自体の署名を扱う新しいPdfSignatureオブジェクトを作成しました。 最後に、SignPdfFileを使用してPDFドキュメントに署名して保存しました。 If you want to explore more of the features IronPDF has to offer, be sure to check out its informative features page, or the How-to Guides which contain in-depth code examples for each feature. iText7の主な機能(コード例付き) iText7はPDFドキュメントのカスタマイズと強化のための幅広い機能を提供しています。 さまざまなPDF標準への対応や高度なPDF操作のための広範なフォーマットサポートを備えており、このPDFライブラリには多くの機能が詰まっています。 ただし、前述したように、iText7はHTMLからPDFへの変換を実行するために追加パッケージを必要とするかもしれません。 HTML から PDF への変換 iText7自体ではHTMLからPDFへの変換ができませんが、商用ライセンスの下の有料アドオンであるpdfHTMLを利用して、IronPDFの例で使用したHTMLファイルをPDFドキュメントに変換できます。 using iText.Html2pdf; using System.IO; public class Program { static void Main(string[] args) { // Open the HTML file stream using (FileStream htmlSource = File.Open("example.html", FileMode.Open)) // Create the output PDF file stream using (FileStream pdf = File.Open("HtmlToPdfOutput.pdf", FileMode.Create)) { // Initialize ConverterProperties for HTML to PDF conversion ConverterProperties converterProperties = new ConverterProperties(); // Convert the HTML source to a PDF document HtmlConverter.ConvertToPdf(htmlSource, pdf, converterProperties); // Close the PDF file pdf.Close(); } } } using iText.Html2pdf; using System.IO; public class Program { static void Main(string[] args) { // Open the HTML file stream using (FileStream htmlSource = File.Open("example.html", FileMode.Open)) // Create the output PDF file stream using (FileStream pdf = File.Open("HtmlToPdfOutput.pdf", FileMode.Create)) { // Initialize ConverterProperties for HTML to PDF conversion ConverterProperties converterProperties = new ConverterProperties(); // Convert the HTML source to a PDF document HtmlConverter.ConvertToPdf(htmlSource, pdf, converterProperties); // Close the PDF file pdf.Close(); } } } Imports iText.Html2pdf Imports System.IO Public Class Program Shared Sub Main(ByVal args() As String) ' Open the HTML file stream Using htmlSource As FileStream = File.Open("example.html", FileMode.Open) ' Create the output PDF file stream Using pdf As FileStream = File.Open("HtmlToPdfOutput.pdf", FileMode.Create) ' Initialize ConverterProperties for HTML to PDF conversion Dim converterProperties As New ConverterProperties() ' Convert the HTML source to a PDF document HtmlConverter.ConvertToPdf(htmlSource, pdf, converterProperties) ' Close the PDF file pdf.Close() End Using End Using End Sub End Class $vbLabelText $csharpLabel 出力PDF この例では、HTMLファイルを読み込み、レンダリングされたPDFを保存するファイルの場所を指定しました。 次に、ConvertToPdfメソッドを使用して、HTMLファイルをPDFドキュメントに簡単に変換できます。 URLをPDFに 次に、iText7がURLをPDFに変換する際に、IronPDFとどのように比較できるかを見比べてみましょう。 これには、公平な比較を確保するために前述と同じURLを使用します。 using System; using System.Net.Http; using System.IO; using iText.Html2pdf; public class Program { public static async System.Threading.Tasks.Task Main(string[] args) { string url = "https://www.apple.com"; // Replace with your target URL string outputPdfPath = "output.pdf"; try { // Download HTML content from the URL using (HttpClient client = new HttpClient()) { string htmlContent = await client.GetStringAsync(url); // Convert HTML to PDF using (FileStream pdfStream = new FileStream(outputPdfPath, FileMode.Create)) { ConverterProperties properties = new ConverterProperties(); HtmlConverter.ConvertToPdf(htmlContent, pdfStream, properties); } } Console.WriteLine("PDF created successfully: " + outputPdfPath); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } } } using System; using System.Net.Http; using System.IO; using iText.Html2pdf; public class Program { public static async System.Threading.Tasks.Task Main(string[] args) { string url = "https://www.apple.com"; // Replace with your target URL string outputPdfPath = "output.pdf"; try { // Download HTML content from the URL using (HttpClient client = new HttpClient()) { string htmlContent = await client.GetStringAsync(url); // Convert HTML to PDF using (FileStream pdfStream = new FileStream(outputPdfPath, FileMode.Create)) { ConverterProperties properties = new ConverterProperties(); HtmlConverter.ConvertToPdf(htmlContent, pdfStream, properties); } } Console.WriteLine("PDF created successfully: " + outputPdfPath); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } } } Imports System Imports System.Net.Http Imports System.IO Imports iText.Html2pdf Public Class Program Public Shared Async Function Main(ByVal args() As String) As System.Threading.Tasks.Task Dim url As String = "https://www.apple.com" ' Replace with your target URL Dim outputPdfPath As String = "output.pdf" Try ' Download HTML content from the URL Using client As New HttpClient() Dim htmlContent As String = Await client.GetStringAsync(url) ' Convert HTML to PDF Using pdfStream As New FileStream(outputPdfPath, FileMode.Create) Dim properties As New ConverterProperties() HtmlConverter.ConvertToPdf(htmlContent, pdfStream, properties) End Using End Using Console.WriteLine("PDF created successfully: " & outputPdfPath) Catch ex As Exception Console.WriteLine("Error: " & ex.Message) End Try End Function End Class $vbLabelText $csharpLabel 出力PDF ここに見られるように、iText7のURLからPDFへの変換のアプローチは、より手動で複雑です。 最初にURLからHTMLコンテンツをダウンロードし、HTMLからPDFへの例で見たような手順に従ってURLコンテンツをPDFドキュメントにレンダリングして保存する必要があります。 出力画像に見られるように、iText7では、IronPDFとは異なり、元のスタイリングとレイアウトをあまり維持できませんでした。 PDF 署名 using System.Security.Cryptography.X509Certificates; using iText.Kernel.Pdf; using iText.Signatures; using iText.Bouncycastle.Crypto; using iText.Commons.Bouncycastle.Cert; using iText.Commons.Bouncycastle.Crypto; using Org.BouncyCastle.Pkcs; using Org.BouncyCastle.Crypto; using iText.Bouncycastle.X509; using iText.Kernel.Crypto; using System.IO; public class Program { static void Main(string[] args) { string inputPdf = "input.pdf"; // PDF to be signed string outputPdf = "signed_output.pdf"; // Signed PDF output string pfxFile = "IronSoftware.pfx"; // Path to your PFX certificate string password = "Passw0rd"; // Password for PFX file try { // Load your certificate Pkcs12Store ks = new Pkcs12StoreBuilder().Build(); using (FileStream fs = new FileStream(pfxFile, FileMode.Open, FileAccess.Read)) { ks.Load(fs, password.ToCharArray()); } string alias = null; foreach (string al in ks.Aliases) { if (ks.IsKeyEntry(al)) { alias = al; break; } } if (alias == null) { throw new Exception("Alias not found in the PFX file."); } ICipherParameters pk = ks.GetKey(alias).Key; X509CertificateEntry[] chain = ks.GetCertificateChain(alias); // Convert BouncyCastle certificates to iText certificates var itextCertChain = new IX509Certificate[chain.Length]; for (int i = 0; i < chain.Length; i++) { itextCertChain[i] = new X509CertificateBC(chain[i].Certificate); } // Create output PDF with signed content using (PdfReader reader = new PdfReader(inputPdf)) using (FileStream os = new FileStream(outputPdf, FileMode.Create, FileAccess.Write)) { PdfSigner signer = new PdfSigner(reader, os, new StampingProperties().UseAppendMode()); // Set up the external signature (private key + digest algorithm) IPrivateKey iTextPrivateKey = new PrivateKeyBC(pk); IExternalSignature pks = new PrivateKeySignature(iTextPrivateKey, DigestAlgorithms.SHA256); IExternalDigest digest = new BouncyCastleDigest(); // Perform the signing (detached signature) signer.SignDetached(digest, pks, itextCertChain, null, null, null, 0, PdfSigner.CryptoStandard.CMS); } Console.WriteLine($"PDF digitally signed successfully: {outputPdf}"); } catch (Exception ex) { Console.WriteLine($"Error signing PDF: {ex.Message}"); } } } using System.Security.Cryptography.X509Certificates; using iText.Kernel.Pdf; using iText.Signatures; using iText.Bouncycastle.Crypto; using iText.Commons.Bouncycastle.Cert; using iText.Commons.Bouncycastle.Crypto; using Org.BouncyCastle.Pkcs; using Org.BouncyCastle.Crypto; using iText.Bouncycastle.X509; using iText.Kernel.Crypto; using System.IO; public class Program { static void Main(string[] args) { string inputPdf = "input.pdf"; // PDF to be signed string outputPdf = "signed_output.pdf"; // Signed PDF output string pfxFile = "IronSoftware.pfx"; // Path to your PFX certificate string password = "Passw0rd"; // Password for PFX file try { // Load your certificate Pkcs12Store ks = new Pkcs12StoreBuilder().Build(); using (FileStream fs = new FileStream(pfxFile, FileMode.Open, FileAccess.Read)) { ks.Load(fs, password.ToCharArray()); } string alias = null; foreach (string al in ks.Aliases) { if (ks.IsKeyEntry(al)) { alias = al; break; } } if (alias == null) { throw new Exception("Alias not found in the PFX file."); } ICipherParameters pk = ks.GetKey(alias).Key; X509CertificateEntry[] chain = ks.GetCertificateChain(alias); // Convert BouncyCastle certificates to iText certificates var itextCertChain = new IX509Certificate[chain.Length]; for (int i = 0; i < chain.Length; i++) { itextCertChain[i] = new X509CertificateBC(chain[i].Certificate); } // Create output PDF with signed content using (PdfReader reader = new PdfReader(inputPdf)) using (FileStream os = new FileStream(outputPdf, FileMode.Create, FileAccess.Write)) { PdfSigner signer = new PdfSigner(reader, os, new StampingProperties().UseAppendMode()); // Set up the external signature (private key + digest algorithm) IPrivateKey iTextPrivateKey = new PrivateKeyBC(pk); IExternalSignature pks = new PrivateKeySignature(iTextPrivateKey, DigestAlgorithms.SHA256); IExternalDigest digest = new BouncyCastleDigest(); // Perform the signing (detached signature) signer.SignDetached(digest, pks, itextCertChain, null, null, null, 0, PdfSigner.CryptoStandard.CMS); } Console.WriteLine($"PDF digitally signed successfully: {outputPdf}"); } catch (Exception ex) { Console.WriteLine($"Error signing PDF: {ex.Message}"); } } } Imports System.Security.Cryptography.X509Certificates Imports iText.Kernel.Pdf Imports iText.Signatures Imports iText.Bouncycastle.Crypto Imports iText.Commons.Bouncycastle.Cert Imports iText.Commons.Bouncycastle.Crypto Imports Org.BouncyCastle.Pkcs Imports Org.BouncyCastle.Crypto Imports iText.Bouncycastle.X509 Imports iText.Kernel.Crypto Imports System.IO Public Class Program Shared Sub Main(ByVal args() As String) Dim inputPdf As String = "input.pdf" ' PDF to be signed Dim outputPdf As String = "signed_output.pdf" ' Signed PDF output Dim pfxFile As String = "IronSoftware.pfx" ' Path to your PFX certificate Dim password As String = "Passw0rd" ' Password for PFX file Try ' Load your certificate Dim ks As Pkcs12Store = (New Pkcs12StoreBuilder()).Build() Using fs As New FileStream(pfxFile, FileMode.Open, FileAccess.Read) ks.Load(fs, password.ToCharArray()) End Using Dim [alias] As String = Nothing For Each al As String In ks.Aliases If ks.IsKeyEntry(al) Then [alias] = al Exit For End If Next al If [alias] Is Nothing Then Throw New Exception("Alias not found in the PFX file.") End If Dim pk As ICipherParameters = ks.GetKey([alias]).Key Dim chain() As X509CertificateEntry = ks.GetCertificateChain([alias]) ' Convert BouncyCastle certificates to iText certificates Dim itextCertChain = New IX509Certificate(chain.Length - 1){} For i As Integer = 0 To chain.Length - 1 itextCertChain(i) = New X509CertificateBC(chain(i).Certificate) Next i ' Create output PDF with signed content Using reader As New PdfReader(inputPdf) Using os As New FileStream(outputPdf, FileMode.Create, FileAccess.Write) Dim signer As New PdfSigner(reader, os, (New StampingProperties()).UseAppendMode()) ' Set up the external signature (private key + digest algorithm) Dim iTextPrivateKey As IPrivateKey = New PrivateKeyBC(pk) Dim pks As IExternalSignature = New PrivateKeySignature(iTextPrivateKey, DigestAlgorithms.SHA256) Dim digest As IExternalDigest = New BouncyCastleDigest() ' Perform the signing (detached signature) signer.SignDetached(digest, pks, itextCertChain, Nothing, Nothing, Nothing, 0, PdfSigner.CryptoStandard.CMS) End Using End Using Console.WriteLine($"PDF digitally signed successfully: {outputPdf}") Catch ex As Exception Console.WriteLine($"Error signing PDF: {ex.Message}") End Try End Sub End Class $vbLabelText $csharpLabel 出力PDF 見ての通り、iText7はPDFドキュメントにデジタル署名する能力がありますが、IronPDFに比べてプロセスがかなり複雑です。 このコードはPFX証明書をロードし、それを使用してPDFにデジタル署名します。 プライベートキーと証明書を抽出し、署名者を設定し、PDFに対してデタッチド署名を追加し、署名されたドキュメントを保存します。 競合分析 パフォーマンスと使いやすさ IronPDFの主な利点 IronPDFは使いやすさと高パフォーマンスで最適化されていることから知られており、HTMLからPDFへの変換などの一般的なタスクを簡素化するAPIを提供しています。 高レベルのメソッドにより、複雑なPDF処理タスクを抽象化し、開発者はPDFを少ないコードで生成、編集、操作できます。 マルチスレッドまたは大規模なドキュメント処理のために、IronPDFは並列実行をサポートしています。 使いやすいAPI — 高レベルのメソッドがHTMLからPDFへの変換などの一般的なタスクを簡素化。 最小のセットアップが必要 — .NETプロジェクトに簡単に統合。 ビルトインの並列実行 — 大量のPDF生成と変換の処理に最適化。 簡素化されたAPI — 結果を達成するためのコード行を削減。 iText 7 - 強力だが複雑 一方で、iText 7はより詳細で粒度の高いレベルの制御を提供しており、広範なカスタマイズが必要な開発者には利点があります。 低レベルのPDF操作に対して強力なAPIを提供します。 しかし、その複雑さから、iText 7ではIronPDFに比べて同様の結果を達成するためにしばしばより多くのコードが必要です。 粒度の高いPDF制御 — 厳格なコンプライアンスを必要とする企業アプリケーション(例:PDF/A、PDF/UA、デジタル署名)に理想的。 高度なカスタマイズ可能性 — 高度なユースケース向けの低レベルのPDF操作を提供。 急勾配な学習曲線 — IronPDFに比較して、より多くのセットアップと構成が必要。 より多くのコードが必要になることが多い — 一般的なタスクはしばしばより長い実装を必要とします。 ライセンスとコスト .NETプロジェクトのPDFライブラリを選択する際には、ライセンスとコストの考慮が重要です。 IronPDFとiText 7の両者は異なるライセンスモデルに従っており、適切な選択はプロジェクトの要件や予算、コンプライアンスの必要性に依存します。 IronPDFのライセンスとコスト IronPDFは商用ライセンスモデルを採用しており、無料の試用版が商用ライセンスには提供されているものの、開発および評価目的には無料ですが、完全なプロダクションでの使用には有料ライセンスが必要です。 価格は使用規模、開発者数、プロジェクトタイプなどの要因に基づいて透明に決まります。 IronPDFのライセンス: 商用ライセンスモデル(オープンソースの制限なし)。 開発者またはチームライセンスに基づく明確な価格設定。 HTMLからPDFへの変換、PDFセキュリティ、その他のコア機能には追加コストがありません。 シンプルでコスト効果の高いPDFソリューションが必要な企業に最適。 結論: IronPDFはすべての主要機能を単一のライセンスに含んでおり、チームや企業にとってコスト効果の高い選択肢です。 iText7のライセンスとコスト iText7は、デュアルライセンスモデルを採用しており、以下を含みます: AGPL(GNU Affero General Public License) ー オープンソースプロジェクトでは無料ですが、iText7を使用するプロジェクト全体がオープンソースでAGPL準拠であることを要する。 これは、プロジェクトに加えられた修正または追加が公に共有されなければならないことを意味します。 商用ライセンス ー ソースコードを開示したくないプロプライエタリソフトウェアまたは商用アプリケーションには必要です。 価格構造は使用、サポートレベル、展開規模に基づいて異なります。 企業がiText 7をプロプライエタリソフトウェアに統合したい場合、商用ライセンスが必須です。 コストは特にエンタープライズソリューションでは重要であり、開発者ごとにスケールされて価格が決められますが、プロフェッショナルサポートへのアクセスが提供され、法的コンプライアンスが保証されます。 なぜiText 7がより高価である可能性があるか: 開発者あたりの価格設定 — 各開発者は個別のライセンスが必要で、チーム全体のコストが増加。 重要な機能には高価なアドオンが必要: pdfHTML(有料) — HTMLからPDFへの変換に必要。 pdfOCR(有料) — 画像からのテキスト認識に必要。 pdfCalligraph(有料) — テキストレンダリングやフォントサポートを改善。 pdfRender(有料) — PDFから画像への変換を追加。 pdf2Data(有料) — PDFから構造化データを抽出。 複数の機能と開発者が必要な場合、企業コストは急速に加算される。 結論: あなたのチームが複数の開発者とHTMLからPDFやOCRのような主な機能を必要とする場合には、IronPDFよりもこれらの機能を追加コストなしで提供するiText 7の方が著しく高価になる可能性があります。 使用ケースシナリオ 小規模対エンタープライズプロジェクト 迅速なPDF機能の実装を要求し、最小限の構成で済ませたい小中規模のプロジェクトにとって、IronPDFはその使いやすいAPIと包括的な機能セットにより魅力的な選択肢です。 特定のPDF標準への遵守と広範なカスタマイズを求めるエンタープライズレベルのプロジェクトは、iText7の高度な機能から利益を得るかもしれませんが、高性能、ライセンスオプション、使いやすさの面でIronPDFもこのレベルの仕事に強い候補です。 学術および商業利用 学術環境やオープンソースプロジェクトでは、iText 7のAGPLライセンスは互換性のあるプロジェクトでの無料使用を許可します。 商用アプリケーションの場合、IronPDFおよびiText 7の両方が商用ライセンスの購入を必要とします。 それぞれのライブラリのライセンス条件を確認することで、プロジェクトの目標に対する準拠性を確保することをお勧めします。 結論 .NETプロジェクトに最適なPDFライブラリを選択することは、使いやすさ、機能セット、ライセンスの必要性などの要因によって影響を受ける重要な決定です。 IronPDFとiText 7の両方は強力なPDF機能を提供しますが、それぞれ異なるニーズに対応しています。 これら2つのライブラリ以外にも、Aspose、Syncfusion、PDFSharpのような競争力のある.NET PDFライブラリを提供する競合他社が存在します。 しかし、IronPDFは、使いやすいAPI、包括的な機能セット、およびコスト効率でPDF業界をリードし続けています。 以下に、IronPDFがすべての.NET PDFライブラリのニーズに対して優れた選択肢である理由を示す説得力のある議論を要約しました。 IronPDFの利点 使いやすさ: IronPDFは簡易性に重点を置いて設計されており、.NETアプリケーションにPDF機能を迅速に統合する必要がある開発者に最適な選択です。 その直感的なAPIは学習曲線を低減し、開発時間を短縮します。 包括的なドキュメントとサポート: IronPDFは詳細なドキュメントと活発なカスタマーサポートを提供し、開発者が迅速に状況を把握し、問題を効果的にトラブルシュートできるようにします。 シームレスなHTMLからPDFへの変換: IronPDFはHTML、CSS、JavaScriptを含む高品質のPDFへの変換に秀でています。 これは、ウェブベースのコンテンツからPDFを動的に生成する必要があるプロジェクトに特に有益です。 商用ライセンス: 商用アプリケーションに対して、IronPDFはフレキシブルなライセンスオプションを提供し、オープンソースライセンスによる制約なしに準拠を確保します。 iTextの制約 複雑さ: iText 7は高度な機能とカスタマイズ性を提供しますが、PDF操作に不慣れな開発者にとって、そのAPIは複雑であり得ます。 これにより、IronPDFのより直接的なアプローチと比べて一般的なタスクの開発時間が長くなる可能性があります。 商用利用におけるライセンスコスト: iText 7のAGPLライセンスは、派生作品がオープンソースにされない限り、商用ライセンスの購入を要します。 これは、AGPLの条件に従えないプロプライエタリアプリケーションの制約となるかもしれません。 Java志向の機能: iText 7は.NET向けに提供されているにもかかわらず、そのルーツがJavaエコシステムにあるため、とくにクロスプラットフォームの問題やJavaベースのツールとの統合において、C#開発者にとってはより馴染みないと感じる場合があります。 最終考察 If your project requires quick PDF generation, especially from web content, and you're looking for an easy-to-use solution, IronPDF is likely the better choice. However, if your application demands advanced PDF manipulation or strict compliance with PDF standards and you need the flexibility to customize extensively, iText7 might be the better fit. プロジェクトの具体的な要件とライセンスの制約を考慮して、ニーズに最適なライブラリを判断してください。 IronPDFを試してみよう: 無料試用版をダウンロードし、IronPDFの強力な機能を自分で体験してみましょう! このサイトはiText 7と提携、承認、または後援されていません。すべての製品名、ロゴ、およびブランドはそれぞれの所有者の財産です。} このサイトは iText 7 と提携、承認、またはスポンサーされていません。すべての製品名、ロゴ、およびブランドは、それぞれの所有者に属しています。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。)}] よくある質問 C# で HTML を PDF に変換するにはどうすればいいですか? IronPDF の RenderHtmlAsPdf メソッドを使用して、HTML 文字列を PDF に変換できます。RenderHtmlFileAsPdf を使用して HTML ファイルを PDF に変換することもできます。 IronPDFとiText 7の主な違いは何ですか? IronPDFはスムーズなHTMLからPDFへの変換と簡潔な商業ライセンスモデルを提供していますが、iText 7はHTMLからPDFへの変換に有料のアドオンが必要で、デュアルライセンスモデルに従います。IronPDFは使いやすさで知られていますが、iText 7は高度なPDF操作を提供しますが、学習曲線が急です。 なぜ.NETプロジェクトにIronPDFを選ぶべきですか? IronPDFは迅速でコスト効率の高いPDF実装に理想的で、使いやすさ、包括的なドキュメント、および追加費用なしでのHTMLからPDFへの変換を提供します。複数の.NETバージョンをサポートし、PDF編集やセキュリティなどの広範な機能を提供します。 IronPDFは複雑なPDF文書を生成するのに適していますか? はい、IronPDFはフォーム入力、注釈、データ抽出などの機能を備え、複雑なPDF文書の生成をサポートします。その広範な機能により、さまざまなプロフェッショナルなPDFアプリケーションに適しています。 IronPDFのライセンスオプションはどのようになっていますか? IronPDFは商業ライセンスモデルを採用しており、それを使用するには有料ライセンスが必要です。このシンプルなモデルは、iText 7のようなデュアルライセンスシステムに関連する複雑さを排除します。 .NET CoreプロジェクトにIronPDFを統合できますか? はい、IronPDFは.NET Coreプロジェクトに統合できます。.NET Core、.NET Framework、.NET Standardをサポートし、さまざまな開発環境に対して柔軟性があります。 IronPDFはPDFセキュリティ機能をどのように処理しますか? IronPDFは暗号化、パスワード保護、デジタル署名を含む強力なPDFセキュリティ機能を提供し、機密文書情報の保護に役立ちます。 他のライブラリと比較してIronPDFはなぜユーザーフレンドリーですか? IronPDFは、その簡潔なAPI、最小限のセットアップ要件、および包括的なドキュメントにより、PDF生成の経験が限られている開発者でも簡単に実装できるため、ユーザーフレンドリーと見なされています。 IronPDFでのHTMLからPDFへの変換には追加コストはありますか? いいえ、IronPDFには組み込みのHTMLからPDFへの変換機能があり、他のPDFライブラリの一部が有料アドオンを必要とするのに対し、追加のコンポーネントやコストが不要です。 性能と速度の観点からIronPDFはどのように比較されますか? IronPDFは性能と速度に最適化されており、迅速かつ信頼性の高いPDF生成と操作を提供し、大量のPDF処理を行うアプリケーションにとって重要です。 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 vs EvoPdf: 2025年にどの.NET PDFライブラリがより良い価値を提供しますか?Syncfusion PDF Viewer vs IronPDF: ...
公開日 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 を作成する方法を学びましょう。 詳しく読む