IRONSOFTWAREHOME
IRONPDFの使用

PDF文書からデータを解析する方法

Curtis Chau
Curtis Chau
Updated: 2026年1月18日

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

HTMLからPDFへのコンバーター C# オープンソース

1. PuppeteerSharp

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

PuppeteerSharpは、Puppeteer(ヘッドレスChromiumブラウザ) for .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!");
        }
    }
}

コードの説明

  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 Converter 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}");
    }
}

コードの説明

  1. HTML解析: この例では、HtmlAgilityPack (HTMLの解析と操作のためのオープンソースライブラリ) が使用され、<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 Converter 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}");
    }
}

コードの説明

  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 Converter 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!");
    }
}

コードスニペットの説明

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

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

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

  3. HTMLをPDFに変換する: RenderHtmlAsPdf()メソッドが呼び出され、HTML文字列が入力として渡されます。 この機能はコンテンツを処理し、PDF文書に変換します。

  4. PDFを保存する: 最後に、生成されたPDFを"html2Pdf.pdf"ファイルにSaveAs()メソッドを使用して保存し、将来のアクセスのためにディスクに保存します。

出力PDF

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

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

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

IronPdf.License.LicenseKey = "your key";

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

結論

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へのワークフローにおいて、信頼性、スケーラビリティ、および使いやすさを重視する開発者にとって実用的な選択です。

Curtis Chau
テクニカルライター

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

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から