フッターコンテンツにスキップ
製品比較

PDFsharp vs QuestPDF(C# PDFライブラリの詳細な比較)

.NETでPDF文書を扱うとき、開発者はしばしば、さまざまなライブラリを比較して、どれがプロジェクトの要件に最も適しているかを判断することになります。 Three popular choices in the .NET ecosystem are PDFsharp, QuestPDF, and IronPDF. 各ライブラリは異なる使用ケースに対応し、独自の長所と短所を提供します。 この記事では、これらのライブラリの詳細な比較と、このURLを使用した基本的なPDF生成の処理方法について説明し、十分な情報に基づいた決断ができるようにします。

PDFsharpとは何ですか?

PDFsharpは、PDF文書を作成、編集、レンダリングするために設計されたオープンソースのライブラリです。 PDFsharpは、シンプルさとPDFのコア機能に重点を置き、わかりやすいPDF操作機能を求める開発者にとって信頼できるツールとなっています。

PDFsharpの主な機能

  • PDFの作成と編集:新しいPDFを作成したり、既存のPDFを修正したりします。
  • グラフィックス描画: 図形、テキスト、画像の描画をサポートします。
  • オープンソース:MITの下でライセンスされており、自由に使用、変更することができます。

インストール

NuGetパッケージマネージャを使用することで、簡単にPDFsharpをプロジェクトにインストールすることができます。 以下の行をNuGet Package Manager Consoleに実行するだけです:

Install-Package PDFsharp

PDFsharpコード例

では、PDFsharpが、与えられたURLから新しいPDF文書を作成する処理をどのように行うかを見てみましょう。 PDFsharp単体ではHTMLやURLからPDFへの変換を扱うことができないため、HtmlRenderer.PdfSharpのようなWebレンダリングエンジンを統合する必要があります。さらに、与えられたURLからHTMLコンテンツを取得するためにHttpClientを使用します。

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;

public class Program
{
    static async Task Main(string[] args)
    {
        // Ensure proper encoding support
        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);

            // Generate PDF from the fetched HTML content
            var pdf = PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4);
            pdf.Save("output.pdf");

            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;

public class Program
{
    static async Task Main(string[] args)
    {
        // Ensure proper encoding support
        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);

            // Generate PDF from the fetched HTML content
            var pdf = PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4);
            pdf.Save("output.pdf");

            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}
Imports System
Imports System.Net.Http
Imports System.Text
Imports System.Threading.Tasks
Imports PdfSharp.Pdf
Imports TheArtOfDev.HtmlRenderer.PdfSharp

Public Class Program
	Shared Async Function Main(ByVal args() As String) As Task
		' Ensure proper encoding support
		Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)

		Dim url As String = "https://www.apple.com"

		' Fetch HTML content from the URL
		Using client As New HttpClient()
			Dim htmlContent As String = Await client.GetStringAsync(url)

			' Generate PDF from the fetched HTML content
			Dim pdf = PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4)
			pdf.Save("output.pdf")

			Console.WriteLine("PDF created successfully as 'output.pdf'.")
		End Using
	End Function
End Class
$vbLabelText   $csharpLabel

出力PDFファイル

PDFsharpの出力例

ご覧のように、PDFsharpはHTMLコンテンツやウェブページをPDFファイルに変換するために使用できますが、追加のライブラリの助けを必要とし、元のウェブサイトに見られるCSSや書式を保持することはできません。PDFsharpは素晴らしいフリーのPDF開発者用ライブラリですが、IronPDFのような有料のライブラリに見られる高度な機能がいくつか欠けています。

QuestPDFとは何ですか?

QuestPDFは、流暢なAPIを使用して視覚的に魅力的なPDFを生成することに焦点を当てた、最新のオープンソースライブラリです。 ドキュメントのレイアウトとレンダリングに対する革新的なアプローチにより、ダイナミックで複雑なデザインを必要とするアプリケーションの強力な候補となります。

QuestPDFの主な機能

) var bodyContent = htmlDoc.DocumentNode.SelectSingleNode("//body")?.InnerText ?? "No content found"; // Generate PDF using QuestPDF Document.Create(container => { container.Page(page => { page.Size(PageSizes.A4); page.Margin(20); page.Content().Text(bodyContent); }); }).GeneratePdf("output.pdf"); Console.WriteLine("PDF created successfully as 'output.pdf'."); } } } ``` ### 出力PDFファイル [QuestPDFの出力例](/static-assets/pdf/blog/pdfsharp-vs-questpdf/pdfsharp-vs-questpdf-2.webp)。 PDFSharpと同様に、QuestPDFはHtmlAgilityPackのような外部ライブラリの助けを借りてHTMLコンテンツをPDFに変換するために利用することができますが、CSSのスタイリングや書式設定を維持することはできません。 QuestPDFは、ゼロからPDF文書を作成したい人には最適な選択ですが、HTMLからPDFへの変換は、このライブラリの長所ではありません。

IronPDF:強力なPDFライブラリ

IronPDFの主な機能

よくある質問

PDFsharp、QuestPDF、およびIronPDFの違いは何ですか?

PDFsharpはそのシンプルさと基本的なPDF機能で知られており、基本的なタスクに適しています。QuestPDFは視覚的に魅力的なドキュメント用のモダンなAPIを提供しますが、ネイティブのHTML変換が欠けています。IronPDFはHTMLからPDFへのレンダリングと高度な操作に優れており、企業向けアプリケーションに理想的です。

HTMLを.NETでPDFにレンダリングするにはどうすればよいですか?

IronPDFを使用して、HTMLを.NETでPDFにレンダリングできます。完全なCSSとJavaScriptをサポートしており、高品質のドキュメント変換が可能です。

なぜ私のプロジェクトに対してQuestPDFを選ぶかもしれませんか?

QuestPDFは、動的で視覚的に複雑なPDFドキュメントが必要なプロジェクトに最適です。流暢なAPIによりフレキシブルなレイアウトを可能にしますが、ネイティブのHTMLからPDFへの変換のサポートがありません。

PDFsharpの使用にはどのような制限がありますか?

PDFsharpは、HTMLからPDFへの変換をネイティブにサポートしていないという制限があります。基本的なPDFの作成と編集タスクに最適です。

IronPDFはどのように高度なPDF操作をサポートしていますか?

IronPDFは、PDFの編集、暗号化、PDF/Aの準拠のサポートなどの高度な機能を提供します。堅牢なPDFハンドリングを必要とする企業向けグレードのアプリケーション向けに設計されています。

PDFsharpで視覚的に魅力的なPDFを作成できますか?

PDFsharpは基本的なPDF作成および編集機能を提供しますが、視覚的に複雑なドキュメントに適したQuestPDFやIronPDFに見られる高度なレイアウトやデザイン機能はありません。

これらのPDFライブラリのインストール手順は何ですか?

3つすべてのライブラリはVisual StudioのNuGetパッケージマネージャー経由でインストールできます。NuGetパッケージマネージャーコンソールでコマンドInstall-Package [LibraryName]を使用し、[LibraryName]をPDFsharp、QuestPDF、またはIronPDFに置き換えてください。

IronPDFの使用には費用がかかりますか?

はい、IronPDFには商用ライセンスが必要で、企業レベルのアプリケーションに適した包括的なサポートと高度な機能を提供します。

Curtis Chau
テクニカルライター

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

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