フッターコンテンツにスキップ
IRONPDFの使用

HTML to PDF Converter C#オープンソース(.NETライブラリ比較)

HTMLをPDFに変換することは、多くのソフトウェアアプリケーションにおいて一般的な要件であり、レポートの生成、請求書の発行、またはウェブページをPDFとして保存するのに役立ちます。 この記事では、C#でのHTMLからPDFへの変換における3つの人気のあるオープンソースライブラリを探り、それらの強みと制限をレビューし、なぜIronPDFが多くのケースでより良い代替手段であるかを説明します。

HTML to PDFコンバーター C#オープンソース

1. PuppeteerSharp

HTML to PDFコンバーター C#オープンソース (.NETライブラリ比較): 図 1

PuppeteerSharpは、Puppeteer(ヘッドレスChromiumブラウザ)の.NETラッパーです。 Chromiumレンダリングエンジンを活用して、開発者がHTML文書をPDFに変換できます。

PuppeteerSharpは、レンダリングプロセスに対して正確な制御を提供します。 以下は例です:

using PuppeteerSharp;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // Download Chromium to ensure compatibility with PuppeteerSharp
        await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultChromiumRevision);

        // Launch a headless instance of Chromium browser
        using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true }))
        {
            // Open a new browser page
            var page = await browser.NewPageAsync();

            // Set the HTML content for the page
            await page.SetContentAsync("<html><body><h1>Hello, PuppeteerSharp!</h1></body></html>");

            // Generate a PDF from the rendered HTML content
            await page.PdfAsync("output.pdf");
            Console.WriteLine("PDF Generated Successfully!");
        }
    }
}
using PuppeteerSharp;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // Download Chromium to ensure compatibility with PuppeteerSharp
        await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultChromiumRevision);

        // Launch a headless instance of Chromium browser
        using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true }))
        {
            // Open a new browser page
            var page = await browser.NewPageAsync();

            // Set the HTML content for the page
            await page.SetContentAsync("<html><body><h1>Hello, PuppeteerSharp!</h1></body></html>");

            // Generate a PDF from the rendered HTML content
            await page.PdfAsync("output.pdf");
            Console.WriteLine("PDF Generated Successfully!");
        }
    }
}
Imports PuppeteerSharp
Imports System.Threading.Tasks

Friend Class Program
	Shared Async Function Main(ByVal args() As String) As Task
		' Download Chromium to ensure compatibility with PuppeteerSharp
		Await (New BrowserFetcher()).DownloadAsync(BrowserFetcher.DefaultChromiumRevision)

		' Launch a headless instance of Chromium browser
		Using browser = Await Puppeteer.LaunchAsync(New LaunchOptions With {.Headless = True})
			' Open a new browser page
			Dim page = Await browser.NewPageAsync()

			' Set the HTML content for the page
			Await page.SetContentAsync("<html><body><h1>Hello, PuppeteerSharp!</h1></body></html>")

			' Generate a PDF from the rendered HTML content
			Await page.PdfAsync("output.pdf")
			Console.WriteLine("PDF Generated Successfully!")
		End Using
	End Function
End Class
$vbLabelText   $csharpLabel

コードの説明

  1. Chromiumをダウンロード: PuppeteerSharpは、互換性を確保するために必要なChromiumのバージョンを自動的にダウンロードします。

  2. ブラウザを起動: Puppeteer.LaunchAsync()を使用して、Chromiumのヘッドレスインスタンスを起動します。

  3. HTMLコンテンツの設定: page.SetContentAsync()を使用して、希望するHTMLをブラウザページにロードします。

  4. PDFを生成: page.PdfAsync()メソッドを使用して、レンダリングされたコンテンツのPDFを生成します。

結果は、HTML構造とデザインを正確に再現した高品質PDF(output.pdf)です。

利点

  • 高忠実度レンダリング: 高度なCSSやJavaScriptを含む最新のWeb技術をサポートします。
  • 自動化機能: PDF以外にも、PuppeteerSharpはウェブブラウジング、自動テスト、データ抽出を自動化できます。
  • 活発な開発: PuppeteerSharpは、積極的に維持され、定期的に更新されています。

短所

  • 大きなファイルサイズ: Chromiumブラウザのダウンロードとバンドルが必要で、展開サイズが増加します。
  • リソース集約的: ブラウザインスタンスの実行にはシステムリソースが多く必要であり、特に大規模アプリケーションでは負担が大きくなります。
  • 限定されたPDF特有の機能: PuppeteerSharpはPDFのレンダリングに焦点を当てており、ヘッダーやフッターの追加などの強化機能は提供されません。

2. PdfSharp

HTML to PDFコンバーター C#オープンソース (.NETライブラリ比較): 図 2

PdfSharpは、C#でPDFファイルを作成および操作するための強力なオープンソースライブラリです。 HTMLレンダリングを直接サポートしてはいませんが、PDF文書をプログラムで生成および編集するためのツールを開発者に提供することに優れています。

PdfSharpの主な機能

  1. PDFの作成: PdfSharpは、ページサイズを定義し、テキスト、形状、画像などを追加して、新しいPDFファイルをゼロから生成することができます。

  2. 既存のPDFの操作: 既存のPDF文書を変更(結合、分割、コンテンツ抽出など)できます。

  3. 描画機能: PdfSharpは、XGraphicsクラスを使用して、PDFファイルにカスタムデザインを追加するための強力なグラフィック機能を提供します。

  4. 軽量: シンプルさとスピードを優先するプロジェクトに理想的な軽量ライブラリです。
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using HtmlAgilityPack;

class Program
{
    static void Main(string[] args)
    {
        // Example HTML content
        string htmlContent = "<html><body><h1>Hello, PdfSharp!</h1><p>This is an example of HTML to PDF.</p></body></html>";

        // Parse HTML using HtmlAgilityPack (You need to add HtmlAgilityPack via NuGet)
        var htmlDoc = new HtmlDocument();
        htmlDoc.LoadHtml(htmlContent);

        // Create a new PDF document
        PdfDocument pdfDocument = new PdfDocument
        {
            Info = { Title = "HTML to PDF Example" }
        };

        // Add a new page to the document
        PdfPage page = pdfDocument.AddPage();

        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont titleFont = new XFont("Arial", 20, XFontStyle.Bold);
        XFont textFont = new XFont("Arial", 12, XFontStyle.Regular);

        // Draw the parsed HTML content
        int yPosition = 50; // Starting Y position
        foreach (var node in htmlDoc.DocumentNode.SelectNodes("//h1 | //p"))
        {
            if (node.Name == "h1")
            {
                gfx.DrawString(node.InnerText, titleFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 30; // Adjust spacing
            }
            else if (node.Name == "p")
            {
                gfx.DrawString(node.InnerText, textFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 20; // Adjust spacing
            }
        }

        // Save the PDF document
        string outputFilePath = "HtmlToPdf.pdf";
        pdfDocument.Save(outputFilePath);
        System.Console.WriteLine($"PDF file created: {outputFilePath}");
    }
}
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using HtmlAgilityPack;

class Program
{
    static void Main(string[] args)
    {
        // Example HTML content
        string htmlContent = "<html><body><h1>Hello, PdfSharp!</h1><p>This is an example of HTML to PDF.</p></body></html>";

        // Parse HTML using HtmlAgilityPack (You need to add HtmlAgilityPack via NuGet)
        var htmlDoc = new HtmlDocument();
        htmlDoc.LoadHtml(htmlContent);

        // Create a new PDF document
        PdfDocument pdfDocument = new PdfDocument
        {
            Info = { Title = "HTML to PDF Example" }
        };

        // Add a new page to the document
        PdfPage page = pdfDocument.AddPage();

        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont titleFont = new XFont("Arial", 20, XFontStyle.Bold);
        XFont textFont = new XFont("Arial", 12, XFontStyle.Regular);

        // Draw the parsed HTML content
        int yPosition = 50; // Starting Y position
        foreach (var node in htmlDoc.DocumentNode.SelectNodes("//h1 | //p"))
        {
            if (node.Name == "h1")
            {
                gfx.DrawString(node.InnerText, titleFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 30; // Adjust spacing
            }
            else if (node.Name == "p")
            {
                gfx.DrawString(node.InnerText, textFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 20; // Adjust spacing
            }
        }

        // Save the PDF document
        string outputFilePath = "HtmlToPdf.pdf";
        pdfDocument.Save(outputFilePath);
        System.Console.WriteLine($"PDF file created: {outputFilePath}");
    }
}
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Imports HtmlAgilityPack

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Example HTML content
		Dim htmlContent As String = "<html><body><h1>Hello, PdfSharp!</h1><p>This is an example of HTML to PDF.</p></body></html>"

		' Parse HTML using HtmlAgilityPack (You need to add HtmlAgilityPack via NuGet)
		Dim htmlDoc = New HtmlDocument()
		htmlDoc.LoadHtml(htmlContent)

		' Create a new PDF document
		Dim pdfDocument As New PdfDocument With {
			.Info = { Title = "HTML to PDF Example" }
		}

		' Add a new page to the document
		Dim page As PdfPage = pdfDocument.AddPage()

		Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
		Dim titleFont As New XFont("Arial", 20, XFontStyle.Bold)
		Dim textFont As New XFont("Arial", 12, XFontStyle.Regular)

		' Draw the parsed HTML content
		Dim yPosition As Integer = 50 ' Starting Y position
		For Each node In htmlDoc.DocumentNode.SelectNodes("//h1 | //p")
			If node.Name = "h1" Then
				gfx.DrawString(node.InnerText, titleFont, XBrushes.Black, New XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft)
				yPosition += 30 ' Adjust spacing
			ElseIf node.Name = "p" Then
				gfx.DrawString(node.InnerText, textFont, XBrushes.Black, New XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft)
				yPosition += 20 ' Adjust spacing
			End If
		Next node

		' Save the PDF document
		Dim outputFilePath As String = "HtmlToPdf.pdf"
		pdfDocument.Save(outputFilePath)
		System.Console.WriteLine($"PDF file created: {outputFilePath}")
	End Sub
End Class
$vbLabelText   $csharpLabel

コードの説明

  1. HTML解析: 例では、HtmlAgilityPack(HTMLを解析および操作するオープンソースライブラリ)を使用して、<h1><p>タグからテキストコンテンツを抽出しています。

  2. コンテンツの描画: PdfSharpのXGraphicsクラスを使用して、解析されたHTMLコンテンツをPDFページ上のテキストとしてレンダリングします。

  3. 制限事項: このアプローチはシンプルなHTML構造には機能しますが、複雑なレイアウト、スタイル、またはJavaScriptを処理することはできません。

PdfSharpの利点と欠点

利点

  • 軽量で使いやすい: PdfSharpは直感的でシンプルであり、PDF生成を開始する開発者に最適です。
  • オープンソースで無料: ライセンス料はかからず、ソースコードはカスタマイズのために利用可能です。
  • カスタム描画: ゼロからカスタムデザインのPDFを作成するための優れた機能を提供します。

短所

  • HTMLからPDFへの変換なし: PdfSharpはネイティブにHTMLをPDFにレンダリングするサポートがなく、HTML解析のための追加のライブラリが必要です。
  • 最新機能のサポートが限定的: インタラクティブなPDF、デジタル署名、コメントなどの高度な機能は提供していません。
  • パフォーマンス制約: 大規模や企業向けアプリケーション向けのプロフェッショナルライブラリとしては最適化されていない可能性があります。

3. Pdfium.NET SDK

HTML to PDFコンバーター C#オープンソース (.NETライブラリ比較): 図 3

Pdfium.NETは、オープンソースプロジェクトPDFiumに基づいて設計された包括的なライブラリで、.NETアプリケーションのPDFファイルの閲覧、編集、操作を可能にします。 PDFの作成、編集、コンテンツの抽出を行うための強力なツールを開発者に提供し、幅広い用途に適しています。 基本的には、無料のHTMLからPDFへの変換ライブラリです。

Pdfium.NET SDKの主な特徴

  1. PDFの作成と編集:

    • ゼロからまたはスキャン画像からPDFを生成します。
    • 既存のPDFを編集し、テキスト、画像、コメントを追加します。
  2. テキストと画像の抽出:

    • PDFファイル形式文書からテキストや画像を抽出してさらなる処理を行います。
    • PDF文書内の特定のテキストを検索します。
  3. PDFビューワーコントロール:

    • WinFormsまたはWPFアプリケーションにスタンドアロンのPDFビューワーを埋め込みます。
    • ズーム、スクロール、ブックマーク、テキスト検索をサポートします。
  4. 互換性:

    • .NET Framework、.NET Core、.NET Standard、および.NET 6+で動作します。
    • WindowsおよびmacOSプラットフォームに対応しています。
  5. 高度な機能:
    • PDFファイルを結合および分割します。
    • 表示または印刷用にPDFを画像としてレンダリングします。
using Pdfium.Net.SDK;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Initialize Pdfium.NET SDK functionalities
        PdfCommon.Initialize();

        // Create a new PDF document
        PdfDocument pdfDocument = PdfDocument.CreateNew();

        // Add a page to the document (A4 size in points: 8.27 x 11.69 inches)
        var page = pdfDocument.Pages.InsertPageAt(pdfDocument.Pages.Count, 595, 842);

        // Sample HTML content to be parsed and rendered manually
        var htmlContent = "<h1>Hello, Pdfium.NET SDK!</h1><p>This is an example of HTML to PDF.</p>";

        // Example: Manually render text since Pdfium.NET doesn't render HTML directly
        var font = PdfFont.CreateFont(pdfDocument, "Arial");
        page.AddText(72, 750, font, 20, "Hello, Pdfium.NET SDK!");
        page.AddText(72, 700, font, 14, "This is an example of HTML to PDF.");

        // Save the document to a file
        string outputFilePath = "HtmlToPdfExample.pdf";
        pdfDocument.Save(outputFilePath, SaveFlags.Default);
        Console.WriteLine($"PDF created successfully: {outputFilePath}");
    }
}
using Pdfium.Net.SDK;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Initialize Pdfium.NET SDK functionalities
        PdfCommon.Initialize();

        // Create a new PDF document
        PdfDocument pdfDocument = PdfDocument.CreateNew();

        // Add a page to the document (A4 size in points: 8.27 x 11.69 inches)
        var page = pdfDocument.Pages.InsertPageAt(pdfDocument.Pages.Count, 595, 842);

        // Sample HTML content to be parsed and rendered manually
        var htmlContent = "<h1>Hello, Pdfium.NET SDK!</h1><p>This is an example of HTML to PDF.</p>";

        // Example: Manually render text since Pdfium.NET doesn't render HTML directly
        var font = PdfFont.CreateFont(pdfDocument, "Arial");
        page.AddText(72, 750, font, 20, "Hello, Pdfium.NET SDK!");
        page.AddText(72, 700, font, 14, "This is an example of HTML to PDF.");

        // Save the document to a file
        string outputFilePath = "HtmlToPdfExample.pdf";
        pdfDocument.Save(outputFilePath, SaveFlags.Default);
        Console.WriteLine($"PDF created successfully: {outputFilePath}");
    }
}
Imports Pdfium.Net.SDK
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Initialize Pdfium.NET SDK functionalities
		PdfCommon.Initialize()

		' Create a new PDF document
		Dim pdfDocument As PdfDocument = PdfDocument.CreateNew()

		' Add a page to the document (A4 size in points: 8.27 x 11.69 inches)
		Dim page = pdfDocument.Pages.InsertPageAt(pdfDocument.Pages.Count, 595, 842)

		' Sample HTML content to be parsed and rendered manually
		Dim htmlContent = "<h1>Hello, Pdfium.NET SDK!</h1><p>This is an example of HTML to PDF.</p>"

		' Example: Manually render text since Pdfium.NET doesn't render HTML directly
		Dim font = PdfFont.CreateFont(pdfDocument, "Arial")
		page.AddText(72, 750, font, 20, "Hello, Pdfium.NET SDK!")
		page.AddText(72, 700, font, 14, "This is an example of HTML to PDF.")

		' Save the document to a file
		Dim outputFilePath As String = "HtmlToPdfExample.pdf"
		pdfDocument.Save(outputFilePath, SaveFlags.Default)
		Console.WriteLine($"PDF created successfully: {outputFilePath}")
	End Sub
End Class
$vbLabelText   $csharpLabel

コードの説明

  1. SDKの初期化: PdfCommon.Initialize()メソッドはPdfium.NETの機能を初期化します。

  2. PDFの作成: PdfDocument.CreateNew()を使用して新しいPDF文書を作成します。

  3. ページの追加: PDFにA4サイズなどの指定された寸法でページを挿入します。

  4. HTMLコンテンツのレンダリング: Pdfium.NET SDKはHTMLレンダリングをネイティブでサポートしていないため、HTML要素を手動でテキスト、形状、または画像として解析およびレンダリングする必要があります。

  5. PDFの保存: Save()メソッドを使用して、文書をファイルパスに保存します。

長所

  • PDFの作成と編集に対する完全な制御を許可します。
  • テキスト、画像、および形状を描画して追加するために柔軟です。
  • デスクトップアプリケーションでPDFを表示および操作するための強力な機能を備えています。

短所

  • HTMLをPDFに直接変換しません。
  • HTMLを手動で解析およびレンダリングするのは複雑で時間がかかる場合があります。
  • HTML変換ではなくPDF編集と操作に焦点を当てたアプリケーションに最適です。

IronPDFの紹介

HTML to PDFコンバーター C#オープンソース (.NETライブラリ比較): 図 4

IronPDFは、.NET開発者がHTMLコンテンツを高品質なPDFに簡単に変換できるように設計されたプロフェッショナルグレードのライブラリです。 その信頼性、洗練された機能、使いやすさで知られるIronPDFは、精密なレンダリングと堅牢な機能を提供しながら、開発プロセスを合理化します。 IronPDFが際立ったソリューションである理由は次のとおりです。

主要機能

  1. 直接HTMLからPDFへの変換: IronPDFを使用して、CSSおよびJavaScriptを含むHTMLコンテンツを使用して直接PDF文書を作成し、完全にフォーマットされたPDFに変換します。 開発者は、数行のコードで、ウェブページ、生HTML文字列、またはローカルHTMLファイルからPDFを生成できます。

  2. 最新のレンダリング機能: 最新のウェブ標準をサポートし、IronPDFは複雑なレイアウト、スタイル、およびインタラクティブな要素の正確なレンダリングを保証し、HTMLページをPDFに変換します。

  3. 高度なPDF機能: IronPDFは、ヘッダー、フッター、ウォーターマーク、コメント、ブックマークを追加するなどの多くのカスタマイズオプションを提供します。 また、既存のPDFのマージ、分割、および編集もサポートしています。

  4. パフォーマンスとスケーラビリティ: 小規模アプリケーションにも企業環境にも最適化されており、IronPDFはプロジェクトの規模に関わらず、高速で信頼性のあるパフォーマンスを提供します。

  5. 容易な統合: .NET Frameworkおよび.NET Core向けに設計されており、IronPDFはC#アプリケーションとスムーズに統合し、開発者にシンプルなセットアッププロセスと包括的なドキュメントを提供します。

なぜIronPDFを選ぶべきか?

IronPDFは、その機能、開発者サポート、およびパフォーマンスの組み合わせにより、他のソリューションの中で際立っています。 多くの場合、広範な構成や外部依存関係を必要とするオープンソースの代替手段と異なり、IronPDFは開発を簡素化しながら、機能を犠牲にしない自己完結型のソリューションです。 請求書、レポート、またはウェブコンテンツのアーカイブを生成する場合でも、IronPDFは、プロフェッショナルな結果を迅速かつ効率的に達成するために必要なツールを開発者に提供します。

IronPDFは、HTMLからPDFへのワークフローにおいて信頼性、スケーラビリティ、および使いやすさを重視する開発者にとって実用的な選択です。

IronPDFを使用したHTMLからPDFへの変換方法

using IronPdf;

class Program
{
    static void Main()
    {
        // Specify license key
        IronPdf.License.LicenseKey = "Your Key";

        // Create a new HtmlToPdf object using ChromePdfRenderer
        var Renderer = new ChromePdfRenderer();

        // Define the HTML string to be converted
        string htmlContent = "<html><body><h1>IronPDF: Better than Open source</h1></body></html>";

        // Convert the HTML string to a PDF document
        var document = Renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF document to a file
        document.SaveAs("html2Pdf.pdf");

        Console.WriteLine("PDF generated and saved successfully!");
    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        // Specify license key
        IronPdf.License.LicenseKey = "Your Key";

        // Create a new HtmlToPdf object using ChromePdfRenderer
        var Renderer = new ChromePdfRenderer();

        // Define the HTML string to be converted
        string htmlContent = "<html><body><h1>IronPDF: Better than Open source</h1></body></html>";

        // Convert the HTML string to a PDF document
        var document = Renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF document to a file
        document.SaveAs("html2Pdf.pdf");

        Console.WriteLine("PDF generated and saved successfully!");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main()
		' Specify license key
		IronPdf.License.LicenseKey = "Your Key"

		' Create a new HtmlToPdf object using ChromePdfRenderer
		Dim Renderer = New ChromePdfRenderer()

		' Define the HTML string to be converted
		Dim htmlContent As String = "<html><body><h1>IronPDF: Better than Open source</h1></body></html>"

		' Convert the HTML string to a PDF document
		Dim document = Renderer.RenderHtmlAsPdf(htmlContent)

		' Save the PDF document to a file
		document.SaveAs("html2Pdf.pdf")

		Console.WriteLine("PDF generated and saved successfully!")
	End Sub
End Class
$vbLabelText   $csharpLabel

コードスニペットの説明

  1. ライセンスキーの設定: プログラムは、ライブラリの完全機能を解放するために必要なIronPDFライセンスキーを設定するところから始まります。

  2. レンダラーの作成: ChromePdfRendererのインスタンスが初期化されます。 このコンポーネントは、HTMLコンテンツをPDF文書に変換する責任を持ち、未処理のHTMLと最終出力の間のブリッジとして機能します。

  3. HTMLコンテンツの定義: htmlContentという文字列変数が作成され、PDFに変換されるHTML構造が格納されます。 この例では、シンプルな見出しを含んでいます。

  4. HTMLからPDFへの変換: ChromePdfRendererインスタンスでRenderHtmlAsPdf()メソッドを呼び出し、HTML文字列を入力として渡します。 この機能はコンテンツを処理し、PDF文書に変換します。

  5. PDFの保存: 最後に、生成されたPDFはSaveAs()メソッドを使用して"html2Pdf.pdf"という名前でファイルに保存され、将来のアクセスのためにディスクに格納されます。

出力PDF

HTML to PDFコンバーター C#オープンソース (.NETライブラリ比較): 図 5

ライセンス情報(トライアル利用可能)

IronPDFは、有効なライセンスキーを必要とします。 公式ウェブサイトからトライアルライセンスを取得できます。IronPDFライブラリを使用する前に、以下のようにライセンスキーを設定してください。

IronPdf.License.LicenseKey = "your key";
IronPdf.License.LicenseKey = "your key";
IronPdf.License.LicenseKey = "your key"
$vbLabelText   $csharpLabel

これにより、ライブラリは制限なしで動作します。

結論

PuppeteerSharpは、特に複雑なウェブページを扱う際に、HTMLからPDFの正確なレンダリングが必要な開発者にとって優れた選択肢です。 しかし、高度なPDF特有の機能、パフォーマンスの最適化、統合の容易さを必要とするアプリケーションには、プロフェッショナルなツールであるIronPDFがしばしばより良い選択肢です。

PdfSharpは、軽量でプログラム的なPDF作成と操作に優れており、特にシンプルな要件のプロジェクトに最適です。 しかし、アプリケーションがHTMLからPDFへの変換や高度なPDF機能を必要とする場合、IronPDFはより効率的で機能豊富なソリューションを提供します。

Pdfium.NET SDKはPDF操作において強力なツールですが、IronPDFは現代のHTML、CSS、JavaScriptをレンダリングする直接のHTMLからPDFへの変換をネイティブにサポートしています。 IronPDFはHtmlToPdf.RenderHtmlAsPdf()のようなビルトインメソッドでワークフローを簡素化し、開発者にとってより迅速かつ効率的です。

請求書、レポート、またはウェブコンテンツのアーカイブを生成する場合でも、IronPDFは、プロフェッショナルな結果を迅速かつ効率的に達成するために必要なツールを開発者に提供します。

IronPDFは、HTMLからPDFへのワークフローにおいて、信頼性、スケーラビリティ、および使いやすさを重視する開発者にとって実用的な選択です。

よくある質問

C# で HTML を PDF に変換するにはどうすればいいですか?

IronPDFのRenderHtmlAsPdfメソッドを使用してHTML文字列をPDFに変換できます。さらに、IronPDFはRenderHtmlFileAsPdfメソッドを使ってHTMLファイルを直接PDFに変換することをサポートしています。

PDF変換においてIronPDFをオープンソースライブラリより使用する利点は何ですか?

IronPDFはモダンなウェブ標準サポートで直接HTMLをPDFに変換し、高度なPDF機能と.NETアプリケーションとの簡単な統合を提供します。PuppeteerSharp、PdfSharp、Pdfium.NET SDKなどのオープンソース代替と比較してプロフェッショナルなソリューションです。

IronPDFはPDF変換中に複雑なHTML、CSS、およびJavaScriptを処理できますか?

はい、IronPDFは最新のウェブ標準をサポートし、HTMLからPDFへの変換の間、複雑なレイアウト、スタイル、およびインタラクティブな要素の正確なレンダリングを保証します。

HTMLからPDFへの変換のためにIronPDFを使用するには何が必要ですか?

IronPDFを使用するには、有効なライセンスキーが必要です。開発者は公式ウェブサイトから試用版ライセンスを入手し、完全な機能を解除できます。

IronPDFが開発者にとって実用的な選択となる理由は何ですか?

IronPDFはその信頼性、スケーラビリティ、使いやすさ、およびHTMLからPDFへの変換における強力な機能のおかげで実用的です。手早く効率的にプロフェッショナルグレードのPDFを生成するのに最適です。

PDF生成においてPuppeteerSharpを使用する際の制限は何ですか?

PuppeteerSharpはChromiumブラウザのダウンロードとバンドルが必要で、ファイルサイズを増加させリソースを多く消費する可能性があります。それはレンダリングに重点を置いており、追加の機能でPDFを強化することは重視していません。

HTMLからPDFへの変換において、Pdfium.NET SDKはIronPDFとどのように異なりますか?

Pdfium.NET SDKはHTMLからPDFへの変換をネイティブにはサポートしておらず、HTML要素の手動レンダリングが必要です。一方、IronPDFは直接変換のための組み込みメソッドを提供し、プロセスを簡略化します。

複雑なHTML構造をPDFにレンダリングするのにPdfSharpは適していますか?

PdfSharpはHTMLからPDFへの変換をネイティブではサポートしておらず、複雑なレイアウトやスタイル、JavaScriptに苦労する可能性があり、HTMLを解析するために追加のライブラリが必要です。

PDF操作においてIronPDFはどのような機能を提供しますか?

IronPDFは、PDFの作成、編集、およびコンテンツの抽出のためのツールを提供します。直接HTMLをPDFに変換すること、テキスト/画像の抽出、およびアプリケーションへのPDFビューアの埋め込みをサポートしています。

IronPDF は .NET 10 と互換性がありますか? また、.NET 10 プロジェクトで使用するとどのような利点がありますか?

はい — IronPDF は .NET 10 と完全に互換性があります。特別な回避策を必要とせずに .NET 10 プロジェクトをサポートし、配列インターフェイス メソッドの仮想化解除、パフォーマンスの向上、メモリ使用量の削減などのランタイムの改善を活用します。

IronPDF は、.NET 10 での HTML から PDF への変換にどのような新しい機能強化をもたらしますか?

.NET 10では、IronPDFは最新リリースで「デイゼロ」サポートを提供し、新しいランタイムとの完全な互換性を実現します。開発者は、.NET 10のレンダリングとJITエンジンの改善により、起動時間の短縮、メモリ使用量の削減、レンダリングパフォーマンスの向上を実現できます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。