PDFSharp HTMLからPDFへの例とチュートリアルの比較
.NET PDF ライブラリの包括的な比較 - 証拠に基づくコンテキストで機能ごとに比較
| 特徴 | PDFsharp | IronPDFPDF✦ |
|---|---|---|
| PDF Creation & Conversion | ||
| HTML/CSSからPDFへ |
✕ No
文書化されたコア機能は、PDF オブジェクト モデルによる作成/変更/結合/分割です。HTML レンダリング エンジンは説明されていません。
|
✓ Yes
ピクセルパーフェクトな CSS3、Flexbox、グリッド レンダリングが組み込まれた Chromium ベースのエンジン。
|
| JavaScriptの実行 |
✕ No
ブラウザ エンジンではありません。JS 実行モデルは説明されていません。
|
✓ Yes
レンダリング中に JS を完全に実行します (動的チャート、SPA、インタラクティブ コンテンツ)。
|
| プログラムによる生成 |
✓ Yes
"PDF ドキュメントを即座に作成"し、ドキュメントの作成に PDF オブジェクト モデルを使用します。
|
✓ Yes
HTML テンプレート、文字列、ASPX ビュー、または画像から生成します。レイアウトは Chromium が処理します。
|
| URLからPDFへ |
✕ No
Web ナビゲーションやキャプチャ機能はありません。
|
✓ Yes
`RenderUrlAsPdf()` 完全な CSS/JS レンダリングを使用して、あらゆるライブ URL をキャプチャします。
|
| DOCXからPDF |
✕ No
Word 文書の変換機能はありません。
|
✓ Yes
`DocxToPdfRenderer` 構造と書式を保持したまま Word 文書を変換します。
|
| Reading & Extraction | ||
| テキスト抽出 |
~ Complex
公式 FAQ によると、抽出は低レベルでのみ可能であり、高レベルの"単語/段落/ページ"抽出 API は存在しないとのことです。
|
✓ Yes
レイアウトを考慮しながらテキストを抽出します。スキャンしたドキュメントにはIronOCRと組み合わせることができます。
|
| ページを画像にレンダリングする |
✕ No
PDFsharp のドキュメント/コミュニティでは、PDF を"レンダリングできない"(ページ→ビットマップはサポートされていない) と明示的に記載されています。
|
✓ Built-in
設定可能な DPI による PNG、JPEG、BMP へのネイティブ ラスタライズ。
|
| 内蔵OCR |
✕ No
PDFsharp 機能ドキュメントには OCR エンジンが記載されていません。
|
✓ Via IronOCR
スキャンされた PDF で 127 以上の言語の OCR を実行するためのIronOCRとのネイティブ統合。
|
| Editing & Manipulation | ||
| Merging & Splitting |
✓ Yes
公式機能には、"既存の PDF ファイルの変更、結合、分割"が明示的に含まれています。
|
✓ Yes
直感的な API を使用して、1 行の結合、分割、追加、先頭への追加、ページの並べ替えを行います。
|
| Headers, Footers & Page Numbers |
~ Complex
低レベルのみ。構造化されたヘッダー/フッターは、MigraDoc の使用例として位置付けられています。
|
✓ Yes
自動ページ番号、日付、カスタム コンテンツを含む HTML ベースのヘッダー/フッター。
|
| ウォーターマーク |
~ Complex
透かしの例は存在しますが、描画アプローチが使用されています (真の透かし注釈ではありません)。
|
✓ Yes
`ApplyWatermark()` HTML/CSS を受け入れ、不透明度、回転、位置を完全に制御できます。
|
| Stamp Text & Images |
~ Complex
GDI+ スタイルの API を使用して既存のページで低レベルの描画操作を行うことで可能になります。
|
✓ Yes
`TextStamper` & Google Fonts、配置、ページごとの制御を備えた`ImageStamper` 。
|
| コンテンツを編集する |
✕ No
PDFsharp 機能セットでは編集はサポートされません。
|
✓ Yes
`RedactTextOnAllPages()` 1 行内の機密テキストを永久に削除します。
|
| Security & Compliance | ||
| Encryption & Passwords |
✓ Yes
セキュリティ設定 API を介して暗号化とパスワード保護をサポートします。
|
✓ Yes
AES 暗号化、所有者/ユーザー パスワード、きめ細かな権限 (印刷、コピー、注釈)。
|
| デジタル署名 |
✓ Yes
PDFsharp のドキュメントでは、デジタル署名の追加について説明しています。これは PDFsharp 6.2.0 で導入された機能です。
|
✓ Yes
`PdfSignature` X509/PFX 証明書をサポートします。
|
| PDF/A & PDF/UA Compliance |
⚠ Partial
新しい PDF/A ドキュメントを作成できますが、既存の PDF を PDF/A に変換したり、準拠を検証したり、特定の PDF/A レベルを選択したりすることはできません (プレビューでは"ハック"として表示されます)。
|
✓ Yes
エンタープライズでの使用に適したネイティブ PDF/A アーカイブおよび PDF/UA アクセシビリティ準拠。
|
| Platform & Deployment | ||
| クロスプラットフォームサポート |
✓ Yes
NuGet/package のドキュメントには、コア ビルドは Windows に依存せず、Linux/macOS で実行できることが記載されています。ドキュメントには最新 for .NETターゲットがリストされています。
|
✓ Yes
Windows、Linux、macOS、x64、x86、 .NET 6~10、Core、Standard 2.0+、Framework 4.6.2+。
|
| サーバー / Docker / クラウド |
✓ Yes
NuGetでは、コア ビルドは Windows に依存せず、一般的なサーバーの展開はシンプル (外部バイナリなし) であると述べられています。
|
✓ Yes
Docker、Azure、AWS、IIS。公式Dockerイメージとデプロイメントガイド。
|
| セットアップの容易さ |
⚠ Partial
インストールは簡単ですが、複雑なレイアウトを作成するには、通常、低レベルの構成 (または MigraDoc 抽象化) が必要です。
|
✓ Simple
`Install-Package IronPdf` NuGetコマンド1つで、数分で準備完了です。
|
| Licensing & Support | ||
| ライセンスモデル |
✓ MIT
PDFsharp プロジェクトの MIT ライセンス — 商用および独占的使用が無料です。
|
✓ Commercial
永久ライセンス。30 日間の全機能無料トライアル、透かしなし。
|
| Commercial Support & SLA |
✓ Yes
ベンダー サイトでは、PDFsharp プロジェクト向けの"サポート プラン"とカスタマイズされたソリューションを提供しています。
|
✓ 24/5 Support
SLA 保証付きの専用エンジニアリング サポート (電子メール、ライブ チャット、電話)。
|
| ドキュメント |
✓ Yes
公式ドキュメントには機能とスタートガイドが列挙されており、例/サンプルのリポジトリが存在します。
|
✓ Extensive
完全な API リファレンス、100 以上のハウツー、チュートリアル、コード例、トラブルシューティング、ビデオ。
|
データは、PDFsharp の公式ドキュメント、 NuGetパッケージ ドキュメント、およびコミュニティ リファレンスから取得されています。
PDFsharpは、基本的なPDF作成にはMITライセンスの堅実な選択肢ですが、HTMLレンダリング、OCR、テキスト抽出、ページラスタライズなどの機能が欠けています。IronPDFは包括的な機能を提供しており、30日間無料でお試しいただけます。
PDFファイルを.NET環境で使用する際には、ドキュメント作成、編集、暗号化、HTMLからPDFへの変換といった一般的なタスクを処理できる信頼性の高い多機能なライブラリが必要です。 IronPDFとPDFsharpは、ニーズが異なる二つの人気ライブラリです。
IronPDFはHTMLからPDFへの変換、PDFのセキュリティ、および高度なPDF操作で優れている多機能で高性能なPDFライブラリです。 一方で、PDFsharpはPDF作成と基本的な編集に焦点を当てた軽量でオープンソースのライブラリです。 選択はプロジェクトの複雑さと要件に依存します。
このガイドでは、IronPDFとPDFsharpを主要機能、使いやすさ、セキュリティ、価格、サポートの面で比較し、.NETアプリケーションに最適なツールを特定するのを支援します。
機能の概要
IronPDF: 総合的なPDFソリューション
IronPDFは、HTMLからPDFへの変換、PDF編集、セキュアなドキュメント処理を含む多くの分野で優れた機能を持つ.NETライブラリです。 NuGetパッケージ マネージャー コンソールを使用して簡単にプロジェクトに追加でき、C#プロジェクトにスムーズに統合されます。
その優れた機能には以下が含まれます:
PDFsharp: 軽量な代替手段
PDFsharpは、主に基本的なPDF作成および操作を目的とした無料のオープンソースライブラリです。 IronPDFの豊富な機能セットを提供することはありませんが、複雑な機能を必要としない単純なプロジェクトには最適です。 PDFsharpの主な機能には以下が含まれます:
- PDF 作成: C# またはVB .NETを使用してプログラム的に PDF を生成し、画像やグラフィックを含むテキストベースのドキュメントを作成します。
- PDF の変更:既存の PDF の結合、分割、編集などの簡単なタスク。 *基本的な暗号化: PDF ドキュメントに基本的なパスワード保護を追加します。
重要な制限: PDFsharpはネイティブにHTMLからPDFへの変換をサポートしておらず、Polybioz.HtmlRenderer.PdfSharp.Coreなどのサードパーティのツールが必要で、複雑性を増します。
互換性と使いやすさ
クロスプラットフォームサポート

IronPDF
IronPDF はクロスプラットフォーム向けに設計されており、.NET Core、.NET Framework、および Azure と完全に互換性があり、Windows、macOS、および Linux をサポートしています。 このようなライブラリは、複数のオペレーティングシステム上で実行する必要があるプロジェクトに最適で、ほとんどの開発環境との普遍的な互換性を確保します。 ライブラリは、モダンなウェブ開発環境とシームレスに統合されており、ウェブアプリケーション、クラウドソリューション、およびエンタープライズシステムに最適です。
PDFsharp
PDFsharpは主に.NET Framework用に設計されており、.NET Coreに対するサポートは制限されています。 .NET Coreバージョンは存在しますが、開発が進行中であり、特定の機能は非Windowsプラットフォーム向けに完全に最適化されていません。 Linux と macOS ユーザーは互換性の問題に直面する可能性があるため、PDFsharp はクロスプラットフォーム アプリケーションにはあまり適していません。
使いやすさ
IronPDFは、PDFファイルを扱う際の複雑さを抽象化した開発者に優しいAPIを提供します。 PDFを生成する場合も既存のファイルを編集する場合も、構文はクリーンで直観的であり、開発者は数行のコードで複雑な機能を実装できます。
PDFsharp は、テキスト生成や PDF 操作といった基本的なタスクに対しては比較的簡単に使用できますが、複雑なドキュメント生成や編集などのタスクには、手動での処理がより多く求められることがあります。
使いやすさの例
IronPDF: HTMLからPDFへの変換
1 回のメソッド呼び出しで、HTML スニペットとコンテンツを簡単に PDF に変換できます。
using IronPdf;
var renderer = new ChromePdfRenderer();
var content = "<h1>IronPDF Rocks!</h1>";
var pdf = renderer.RenderHtmlAsPdf(content);
pdf.SaveAs("output.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
var content = "<h1>IronPDF Rocks!</h1>";
var pdf = renderer.RenderHtmlAsPdf(content);
pdf.SaveAs("output.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
Private content = "<h1>IronPDF Rocks!</h1>"
Private pdf = renderer.RenderHtmlAsPdf(content)
pdf.SaveAs("output.pdf")
- 簡潔でクリーンなコード
- 既存のHTMLコンテンツからのシームレスな変換
PDFsharp: テキストを使用したPDFの作成
PDFsharpは、グラフィックスオブジェクトを使用してテキストとコンテンツを描画するための手動の実装を必要とします。
using PdfSharp.Pdf;
using PdfSharp.Drawing;
var document = new PdfDocument();
var page = document.AddPage();
var gfx = XGraphics.FromPdfPage(page);
var font = new XFont("Arial", 20, XFontStyleEx.Bold);
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, new XPoint(50, 100));
document.Save("output.pdf");
using PdfSharp.Pdf;
using PdfSharp.Drawing;
var document = new PdfDocument();
var page = document.AddPage();
var gfx = XGraphics.FromPdfPage(page);
var font = new XFont("Arial", 20, XFontStyleEx.Bold);
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, new XPoint(50, 100));
document.Save("output.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Private document = New PdfDocument()
Private page = document.AddPage()
Private gfx = XGraphics.FromPdfPage(page)
Private font = New XFont("Arial", 20, XFontStyleEx.Bold)
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, New XPoint(50, 100))
document.Save("output.pdf")
制限:
手動による実装 – 要素を手動で配置する必要があります。 報告書や請求書、スタイル付きコンテンツの生成にはより複雑です。
機能比較
HTMLからPDFへの変換
IronPDF: ウェブアプリケーションとダイナミックレポートに最適
IronPDFは、CSS、JavaScript、および埋め込み画像を保持しながら、HTMLレポート、ウェブページ、動的コンテンツをPDFに変換することに優れています。 これは以下のように理想的です:
- HTMLテンプレートからの請求書生成
- ウェブ アプリケーションからの自動レポート作成
- オフライン使用のためにウェブページをPDFとしてキャプチャする。
IronPDFコード例 – HTMLファイルをPDF形式に変換する:
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("example.html");
pdf.SaveAs("example.pdf");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("example.html");
pdf.SaveAs("example.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("example.html")
pdf.SaveAs("example.pdf")
出力

ご覧のとおり、IronPDFを使用すると、スタイル付きHTMLファイルをわずか3行のコードでPDFドキュメントに変換し、オリジナルの品質やレイアウトを損なうことがありません! IronPDFがより多くのCSSを含むコンテンツにどのように対処できるかを見てみたい場合は、このURLのコンテンツをPDFに変換する例を見てみましょう。
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript(5000);
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");
pdf.SaveAs("Apple.pdf");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript(5000);
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");
pdf.SaveAs("Apple.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.JavaScript(5000)
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.apple.com")
pdf.SaveAs("Apple.pdf")
出力

ここでは、IronPDFの強力なレンダリングオプションを活用して、ウェブコンテンツを高品質なPDFに変換し、元のCSSおよびJavaScriptコンテンツのすべてを保持します。
PDFsharp: Webコンテンツなしの静的PDF向けに最適
PDFsharpはHTMLからPDFへの変換をネイティブにサポートしていません。 この機能が必要な場合には、静的レンダリングコードを使用してHTMLコンテンツをPDFドキュメントに変換できるHtml Rendererのようなサードパーティライブラリを使用する必要があります。 これらの制限のため、PDFsharpは通常、次の用途に最適です:
- 動的なHTMLレンダリングに依存しない静的ドキュメント
- プログラムで定義されたコンテンツを有する請求書、契約書、およびレポート
PDFsharpとHtmlRendererの例:
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;
var document = new PdfSharpCore.Pdf.PdfDocument();
string htmlContent = File.ReadAllText("index.html");
PdfGenerator.AddPdfPages(document, htmlContent, PdfSharpCore.PageSize.A4);
document.Save("html-to-pdf-pdfsharp.pdf");
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;
var document = new PdfSharpCore.Pdf.PdfDocument();
string htmlContent = File.ReadAllText("index.html");
PdfGenerator.AddPdfPages(document, htmlContent, PdfSharpCore.PageSize.A4);
document.Save("html-to-pdf-pdfsharp.pdf");
Imports PdfSharp.Pdf
Imports TheArtOfDev.HtmlRenderer.PdfSharp
Private document = New PdfSharpCore.Pdf.PdfDocument()
Private htmlContent As String = File.ReadAllText("index.html")
PdfGenerator.AddPdfPages(document, htmlContent, PdfSharpCore.PageSize.A4)
document.Save("html-to-pdf-pdfsharp.pdf")
出力

HtmlRendererアドオンのおかげで、ほとんどのHTMLコンテンツをPDFに変換し、大部分の元のスタイリングを保っていますが、よりCSSを重視したコンテンツの場合にIronPDFとどのように比較されるのでしょうか? ウェブコンテンツをPDFファイルに変換するプロセスを見てみましょう:
using PdfSharpCore.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;
using System.Net.Http;
using System.Threading.Tasks;
using System.IO;
public class Program
{
public static async Task Main(string[] args)
{
// Define the URL to fetch HTML content
string url = "https://www.example.com"; // Replace with the URL you want to convert
// Fetch HTML content from the URL
string htmlContent = await FetchHtmlFromUrl(url);
// Generate the PDF from the fetched HTML content
var document = new PdfSharpCore.Pdf.PdfDocument();
PdfGenerator.AddPdfPages(document, htmlContent, PdfSharpCore.PageSize.A4);
// Save the generated PDF to a file
document.Save("url-to-pdf-example.pdf");
System.Console.WriteLine("PDF created successfully!");
}
// Method to fetch HTML content from a URL
private static async Task<string> FetchHtmlFromUrl(string url)
{
using (HttpClient client = new HttpClient())
{
// Send GET request to fetch the HTML content of the URL
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode)
{
// Read the content as a string
string htmlContent = await response.Content.ReadAsStringAsync();
return htmlContent;
}
else
{
throw new Exception($"Failed to fetch content from URL. Status Code: {response.StatusCode}");
}
}
}
}
using PdfSharpCore.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;
using System.Net.Http;
using System.Threading.Tasks;
using System.IO;
public class Program
{
public static async Task Main(string[] args)
{
// Define the URL to fetch HTML content
string url = "https://www.example.com"; // Replace with the URL you want to convert
// Fetch HTML content from the URL
string htmlContent = await FetchHtmlFromUrl(url);
// Generate the PDF from the fetched HTML content
var document = new PdfSharpCore.Pdf.PdfDocument();
PdfGenerator.AddPdfPages(document, htmlContent, PdfSharpCore.PageSize.A4);
// Save the generated PDF to a file
document.Save("url-to-pdf-example.pdf");
System.Console.WriteLine("PDF created successfully!");
}
// Method to fetch HTML content from a URL
private static async Task<string> FetchHtmlFromUrl(string url)
{
using (HttpClient client = new HttpClient())
{
// Send GET request to fetch the HTML content of the URL
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode)
{
// Read the content as a string
string htmlContent = await response.Content.ReadAsStringAsync();
return htmlContent;
}
else
{
throw new Exception($"Failed to fetch content from URL. Status Code: {response.StatusCode}");
}
}
}
}
Imports PdfSharpCore.Pdf
Imports TheArtOfDev.HtmlRenderer.PdfSharp
Imports System.Net.Http
Imports System.Threading.Tasks
Imports System.IO
Public Class Program
Public Shared Async Function Main(ByVal args() As String) As Task
' Define the URL to fetch HTML content
Dim url As String = "https://www.example.com" ' Replace with the URL you want to convert
' Fetch HTML content from the URL
Dim htmlContent As String = Await FetchHtmlFromUrl(url)
' Generate the PDF from the fetched HTML content
Dim document = New PdfSharpCore.Pdf.PdfDocument()
PdfGenerator.AddPdfPages(document, htmlContent, PdfSharpCore.PageSize.A4)
' Save the generated PDF to a file
document.Save("url-to-pdf-example.pdf")
System.Console.WriteLine("PDF created successfully!")
End Function
' Method to fetch HTML content from a URL
Private Shared Async Function FetchHtmlFromUrl(ByVal url As String) As Task(Of String)
Using client As New HttpClient()
' Send GET request to fetch the HTML content of the URL
Dim response As HttpResponseMessage = Await client.GetAsync(url)
If response.IsSuccessStatusCode Then
' Read the content as a string
Dim htmlContent As String = Await response.Content.ReadAsStringAsync()
Return htmlContent
Else
Throw New Exception($"Failed to fetch content from URL. Status Code: {response.StatusCode}")
End If
End Using
End Function
End Class
出力

PDFsharpはIronPDFのように集中的なCSSやJavaScriptコンテンツを処理することはできませんが、CSSやJavaScriptコンテンツに依存しないPDF生成タスクに最適な軽量のPDFライブラリを探している方には引き続き優れた選択肢です。 .HTML変換には追加のライブラリを必要としますが、PDFsharpは.NETエコシステム内でスクラッチからPDFファイルを作成できます。
暗号化とセキュリティ
IronPDF: 安全でコンプライアンス駆動型アプリケーション向けに最適
IronPDFは、安全なPDF処理が必要な開発者にとって最良の選択肢であり、特に厳格なデータ保護規制に準拠する必要のあるアプリケーションに最適です。 PDFドキュメントが安全で改ざんされないようにするための高度なセキュリティ機能を提供しており、金融、医療、法律のような業界に適しています。
IronPDFのユースケース:
- 法的および金融文書: IronPDFを使用すると、高度な暗号化手法を使用してPDF内の機密データを保護し、認可されたユーザーのみがアクセスできるようにします。
- デジタル署名を必要とするドキュメント: ドキュメントの信頼性を確保するためのデジタル署名機能を提供しており、法的契約や契約書において重要です。
- GDPRおよびHIPAAの準拠: 個人情報や機密情報を取り扱う場合には、IronPDFはGDPRやHIPAAの規制に準拠した暗号化基準をサポートしており、クライアントのデータを安全に取り扱う開発者に安心を提供します。
IronPDFの暗号化機能には、ユーザーレベルおよびオーナーレベルのパスワードが含まれており、PDFへのアクセスを制限したり、印刷、コピー、編集といった特定のアクションを制限したりすることができます。 さらに、PDFにデジタル署名を適用することが可能で、データの整合性と責任拒否の排除を確保し、法的文書に最適です。 これらの機能は、ドキュメントのセキュリティが最優先事項であるワークフローに特に役立ちます。
IronPDFコード例 – パスワードでPDFを暗号化:
using IronPdf;
var pdf = PdfDocument.FromFile("ConfidentialDocument.pdf");
pdf.SecuritySettings.UserPassword = "user";
pdf.SecuritySettings.OwnerPassword = "owner";
pdf.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SaveAs("ConfidentialDocumentSecured.pdf");
using IronPdf;
var pdf = PdfDocument.FromFile("ConfidentialDocument.pdf");
pdf.SecuritySettings.UserPassword = "user";
pdf.SecuritySettings.OwnerPassword = "owner";
pdf.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SaveAs("ConfidentialDocumentSecured.pdf");
Imports IronPdf
Private pdf = PdfDocument.FromFile("ConfidentialDocument.pdf")
pdf.SecuritySettings.UserPassword = "user"
pdf.SecuritySettings.OwnerPassword = "owner"
pdf.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SaveAs("ConfidentialDocumentSecured.pdf")
出力

この例では、IronPDFがPDFを暗号化してユーザーのアクションを制限し、文書が不正アクセスや改ざんから守られるようにします。
PDFsharp: 基本的なセキュリティニーズに最適
PDFsharpは基本的なパスワード保護を提供しますが、デジタル署名、透かし、または高度な暗号化のような高度な機能は欠けています。 PDFに対するアクセスを制限したり、基本的なパスワードを適用するだけで十分な簡単なユースケースに対しては、PDFsharpが適しています。 しかし、アプリケーションがコンプライアンス標準を満たすための高度なセキュリティ機能を必要とする場合、PDFsharpは不十分に感じる可能性があります。
PDFsharpのユースケース:
- 内部文書の保護: PDFsharpは、PDFに基本的なパスワード保護を追加するのに適しており、社内レポート、請求書、契約書への不正アクセスを防ぎます。
- 機密ファイルの基本的な暗号化: コンプライアンスを目標にしたセキュリティを必要としないが、それでも認可されていないユーザーが機密のPDFを開けないようにしたい場合には、PDFsharpのパスワード保護はシンプルな解決策です。
ただし、IronPDFに比べると、PDFsharpの暗号化機能は限られており、強力なセキュリティが要求される業界では不適です。 ユーザーパスワードでPDFを保護し、印刷やコピーなどのアクションを制限することができますが、金融や医療のような業界に必要な堅牢な暗号化基準は提供しません。
PDFsharpコード例 – 基本的なPDF暗号化:
using PdfSharp.Pdf;
using PdfSharp.Pdf.Security;
using PdfSharp.Drawing;
// Create a new document
var document = new PdfSharp.Pdf.PdfDocument();
// Add a page and draw something on it
var page = document.AddPage();
var gfx = XGraphics.FromPdfPage(page);
var font = new XFont("Arial", 16, XFontStyleEx.Bold);
gfx.DrawString("Confidential Document", font, XBrushes.Black, new XPoint(50, 50));
// Set password protection
document.SecuritySettings.UserPassword = "password123";
document.SecuritySettings.OwnerPassword = "admin456";
// Save the encrypted PDF
document.Save("pdfsharp-encrypted.pdf");
using PdfSharp.Pdf;
using PdfSharp.Pdf.Security;
using PdfSharp.Drawing;
// Create a new document
var document = new PdfSharp.Pdf.PdfDocument();
// Add a page and draw something on it
var page = document.AddPage();
var gfx = XGraphics.FromPdfPage(page);
var font = new XFont("Arial", 16, XFontStyleEx.Bold);
gfx.DrawString("Confidential Document", font, XBrushes.Black, new XPoint(50, 50));
// Set password protection
document.SecuritySettings.UserPassword = "password123";
document.SecuritySettings.OwnerPassword = "admin456";
// Save the encrypted PDF
document.Save("pdfsharp-encrypted.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Pdf.Security
Imports PdfSharp.Drawing
' Create a new document
Private document = New PdfSharp.Pdf.PdfDocument()
' Add a page and draw something on it
Private page = document.AddPage()
Private gfx = XGraphics.FromPdfPage(page)
Private font = New XFont("Arial", 16, XFontStyleEx.Bold)
gfx.DrawString("Confidential Document", font, XBrushes.Black, New XPoint(50, 50))
' Set password protection
document.SecuritySettings.UserPassword = "password123"
document.SecuritySettings.OwnerPassword = "admin456"
' Save the encrypted PDF
document.Save("pdfsharp-encrypted.pdf")
出力

このコードでは、PDFsharpがPDF文書にユーザーパスワードを適用してアクセスを制限します。
機能的なアプリケーション
IronPDF: 総合的なPDF編集、墨消し、変換に最適
IronPDFは、総合的なPDF編集や墨消し、DOCXからPDFへの変換のような複数のファイルフォーマットを処理する必要のあるシナリオで優れています。 ビジネスワークフローに簡単に統合できる高度なPDF操作が必要なアプリケーションに取り組んでいる開発者にとって理想的です。
IronPDFの現実世界のユースケース:
- 機密情報の墨消し: IronPDFは、法務、医療、政府などの業界で、PDF文書から個人データ、財務情報、医療記録といった機密情報を削除または隠す必要がある場合に非常に効果的です。 墨消しは単にテキストを覆うだけでなく、墨消しされた情報が回復できないことを保証することを含みます。
- DOCXファイルからのPDF作成の自動化: IronPDFにより、Microsoft Word ドキュメント (DOCX) をPDFに簡単に変換できます。 これはエンタープライズソフトウェアやeコマースのような環境で特に有用であり、請求書、レポート、または契約書がしばしばWordドキュメントから生成され、アーカイブや配布用にセキュアなPDFに変換する必要があります。
- 編集可能なPDFフォーム: ユーザーがデータ (例: 申請書、調査、フィードバックフォーム) を入力できるインタラクティブなPDFフォームを構築している場合、IronPDFを使用して入力可能なフォームを作成および変更できます。 この機能はHR、教育、カスタマーサポートのような業界でよく使用されます。
例のユースケース – DOCXのPDF変換とウォーターマークの追加: 企業環境では、IronPDFを使用してWordドキュメントをPDFに変換し、その後、ブランドやセキュリティの目的でウォーターマークを追加できます。 IronPDFを使用すると、特定のページまたはすべてのPDFページにウォーターマークを適用できます。
ここでは、サンプルのDOCXファイルを用いて、"DRAFT"としてラベル付けするためのウォーターマークを適用し、例の会社ブランディングを加える例を紹介します。
using IronPdf;
using IronPdf.Editing;
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("document.docx");
var watermark = "<h1 style='Color: red; font-size: 60px'>DRAFT</h1><img style='width: 200px' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";
pdf.ApplyWatermark(watermark, opacity: 75, VerticalAlignment.Top, HorizontalAlignment.Right);
pdf.SaveAs("output.pdf");
using IronPdf;
using IronPdf.Editing;
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("document.docx");
var watermark = "<h1 style='Color: red; font-size: 60px'>DRAFT</h1><img style='width: 200px' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";
pdf.ApplyWatermark(watermark, opacity: 75, VerticalAlignment.Top, HorizontalAlignment.Right);
pdf.SaveAs("output.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New DocxToPdfRenderer()
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("document.docx")
Private watermark = "<h1 style='Color: red; font-size: 60px'>DRAFT</h1><img style='width: 200px' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"
pdf.ApplyWatermark(watermark, opacity:= 75, VerticalAlignment.Top, HorizontalAlignment.Right)
pdf.SaveAs("output.pdf")
出力

この例では、IronPDF はまずDOCX ドキュメントをPDFに変換し、その後、ドキュメントが"DRAFT"とラベル付けされるようにウォーターマークを追加します。 この機能は、敏感な情報を配布する企業に有用であり、ドキュメントのセキュリティが維持されていることを確保したり、どのドキュメントがドラフトであるかを追跡するのに役立ちます。
PDFsharp: 軽量なPDF編集とシンプルなドキュメント生成に最適
PDFsharpは、スクラッチから基本的なPDF操作を行う必要があるシンプルなPDFオペレーションに適しており、補正や基本的な編集を行うに最適です。 スクラッチからシンプルなPDFを作成したり、既存のPDFを修正したり、基本的な墨消しを行うといったタスクに優れています。 しかし、より複雑な操作、例えば高度な墨消しや文書変換、フォームデータを扱う際には、IronPDFに比べてPDFsharpの機能は限られています。
PDFSharpの現実世界のユースケース:
- シンプルなレポートとドキュメントの生成: PDFsharpは、レポート、請求書、パンフレットといったシンプルで静的なドキュメントの作成に最適です。 PDF生成が非常に複雑である必要はなく、テキスト、画像、テーブルなどの基本的なフォーマットを含める必要がある小規模なビジネスアプリケーションによく使用されます。
- 基本的なPDF編集とマージ: 複数のPDFを1つのドキュメントに結合したり、大きなPDFを小さなセクションに分割する必要があるシナリオでは、PDFsharpがこれらのタスクを処理するための簡単な機能を提供します。 より複雑なPDF操作を必要としないドキュメント管理システムに適しています。
- 基本的な墨消し: PDFsharpは、IronPDFのような高度な墨消し機能は提供していませんが、基本的な墨消しに使用できます。 たとえば、テキストや画像を形や無地の色で覆うといったことです。 この機能は、低セキュリティ文書や、厳格なデータプライバシー法に準拠する必要のないアプリケーションに十分である場合があります。
例のユースケース: ビジネス環境では、PDFsharpを使用して、データベースから抽出されたデータからレポートを生成したり、複数のファイルを1つに結合したり、社内使用のためにドキュメントの一部を墨消しすることができます。
PDFsharpコード例 – 2つのPDFのマージ:
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
// Open the first PDF
PdfDocument document1 = PdfReader.Open("document1.pdf", PdfDocumentOpenMode.Import);
// Open the second PDF
PdfDocument document2 = PdfReader.Open("document2.pdf", PdfDocumentOpenMode.Import);
// Create a new PDF document for the merged file
PdfDocument outputDocument = new PdfDocument();
// Add pages from the first document
foreach (PdfPage page in document1.Pages)
{
outputDocument.AddPage(page);
}
// Add pages from the second document
foreach (PdfPage page in document2.Pages)
{
outputDocument.AddPage(page);
}
// Save the merged PDF
outputDocument.Save("merged-document.pdf");
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
// Open the first PDF
PdfDocument document1 = PdfReader.Open("document1.pdf", PdfDocumentOpenMode.Import);
// Open the second PDF
PdfDocument document2 = PdfReader.Open("document2.pdf", PdfDocumentOpenMode.Import);
// Create a new PDF document for the merged file
PdfDocument outputDocument = new PdfDocument();
// Add pages from the first document
foreach (PdfPage page in document1.Pages)
{
outputDocument.AddPage(page);
}
// Add pages from the second document
foreach (PdfPage page in document2.Pages)
{
outputDocument.AddPage(page);
}
// Save the merged PDF
outputDocument.Save("merged-document.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Pdf.IO
' Open the first PDF
Private document1 As PdfDocument = PdfReader.Open("document1.pdf", PdfDocumentOpenMode.Import)
' Open the second PDF
Private document2 As PdfDocument = PdfReader.Open("document2.pdf", PdfDocumentOpenMode.Import)
' Create a new PDF document for the merged file
Private outputDocument As New PdfDocument()
' Add pages from the first document
For Each page As PdfPage In document1.Pages
outputDocument.AddPage(page)
Next page
' Add pages from the second document
For Each page As PdfPage In document2.Pages
outputDocument.AddPage(page)
Next page
' Save the merged PDF
outputDocument.Save("merged-document.pdf")
出力

このコードでは、PDFsharpを使用して2つのPDF文書を1つにマージする方法を示します。 これは、複数のレポート、請求書、または他のドキュメントを1つのPDFに結合する必要があるアプリケーションによくあるユースケースです。
価格とライセンス
IronPDFとPDFsharpは、さまざまなニーズに合わせて異なる価格設定とライセンス形態を提供しています。 IronPDFは永続ライセンスモデルを提供している一方で、PDFsharpはオープンソースで無料で利用できます。
IronPDFの価格とライセンス:
IronPDFは、永続ライセンスモデルを使用しており、ユーザーは年間アップデート付きの生涯アクセスを得ることができます。 使用に応じた段階的価格設定を提供し、個人、チーム、または企業向けのライセンスを含んでいます。 無料試用版が利用可能で、購入前にツールを試すことができます。 商用ライセンスのユーザーは、技術サポートや機能更新も受けられます。
*永続ライセンス:**毎年のアップデートを含む生涯アクセス。 *階層型ライセンス:**個人、チーム、または企業向けのライセンス。 *無料トライアル:*ユーザーは購入前に試すことができます。 商用サポート:**サポートと定期的なアップデートへのアクセス。
PDFsharpのライセンス:
PDFsharpはMITライセンスで無償提供されており、個人および商用利用のためのオープンソースです。 ただし、プレミアムサポートは提供しておらず、コミュニティフォーラムに頼ってサポートを受けることになります。 これは小規模またはオープンソースプロジェクトに合致していますが、より複雑なニーズには外部の助けが必要な場合があります。
- MITライセンス:**商用利用は無料です。 プレミアム サポートはありません:サポートのためのコミュニティ フォーラム。 柔軟性:**小規模プロジェクトに最適です。
エンドユーザーサポートおよびドキュメンテーション
IronPDFは開発者サポートに優れており、詳細な文書と複数の支援チャネルを提供しています。 PDFsharpとは異なり、IronPDFは開発者が統合プロセスをサポートするための体系的なリソースを提供します。
IronPDF開発者サポート:
IronPDFは包括的なドキュメントを提供しており、ステップバイステップのガイド、API参照、およびコードサンプルが含まれています。 技術的な質問に対する専用のサポートチームが利用可能です。 さらに、オンラインナレッジベースがトラブルシューティングの解決策や便利なヒントを提供します。 エンタープライズ顧客には、優先サポートが提供され、問題解決が迅速です。
*包括的なドキュメント:詳細なガイドとコード例*。 サポート チーム:**テクニカル サポートに直接アクセスできます。 *ナレッジベース: FAQ*とトラブルシューティングのヒント。 優先サポート:企業向けの迅速な問題解決**。
エンゲージングコミュニティアスペクト:
IronPDFはまた活発な開発者コミュニティを育成しています。 ユーザーはコミュニティフォーラムに参加し、質問をしたり経験を共有したり、解決策を見つけたりできます。 さらに、チュートリアルやビデオガイドがユーザーの早期の立ち上げを支援します。 IronPDFはGitHubにも参加しており、コミュニティはバグの報告や機能提案を行うことができます。
*コミュニティ フォーラム:質問したり解決策を共有したりする*ためのスペースです。 チュートリアルとガイド:**ステップバイステップの説明とビデオ リソース。
- GitHubコラボレーション:ユーザーは新しい機能に貢献したり提案したりできます。
PDFsharp開発者サポート:
PDFsharpのサポートは主にGitHubのリポジトリとStack Overflowのようなコミュニティフォーラムから提供されます。 開発者は問題を報告したり解決策をブラウズしたり質問したりできます。 しかし、ドキュメントは限られており、詳細なガイドや公式のチュートリアルは乏しく、開発者はコミュニティの貢献や試行錯誤に頼る必要があります。
- GitHubリポジトリ:問題を報告し、解決策を検討します。 *コミュニティ フォーラム: Stack Overflow*でヘルプを見つけます。 ドキュメントが乏しい:**ガイドとリソースが限られています。
コミュニティ駆動型貢献:
公式サポートがないため、開発者はGitHubを通じてPDFsharpに貢献し、ドキュメントの改善や機能の追加を行うことができます。 ユーザーが貢献したチュートリアルもあるが、専用のサポートチームがいないためトラブルシューティングに時間がかかることがあります。
*オープンソースの貢献:ユーザーはドキュメントを改善*できます。 共同トラブルシューティング:**コミュニティに助けを求めます。
ライセンス、ドキュメンテーション、およびサポートのサマリー

結論
IronPDFとPDFsharpを選択する際、選択肢は主にプロジェクトの要求に基づきます。 IronPDFは、高度なHTMLからPDFへの変換、堅牢な暗号化、強力なクロスプラットフォームサポートといった高度な機能を備えた強力かつ多機能なソリューションです。 高品質のPDF操作、セキュリティ機能、専用サポートを必要とする企業、エンタープライズ、開発者に最適です。
一方、PDFsharpは高度な機能を必要としないシンプルなプロジェクト向けの堅実でオープンソースの選択肢であり、基本的なPDF作成と編集において使いやすさと柔軟性を提供します。
すべてを備えたPDFソリューションを探している場合、高機能のIronPDFを探索することをお勧めします。 商業サポートと継続的な更新により、IronPDFは開発ニーズに合わせてスケーリングされ、PDFが効率的かつ安全に処理されることを保証します。 IronPDFを今日試してみて、PDFワークフローをどのように合理化できるかをご確認ください!
よくある質問
C# で HTML を PDF に変換するにはどうすればいいですか?
IronPDF の RenderHtmlAsPdf メソッドを使用して、HTML 文字列を PDF に変換できます。RenderHtmlFileAsPdf を使用して HTML ファイルを PDF に変換することもできます。
IronPDF と PDFsharp の主な違いは何ですか?
IronPDF は、HTML から PDF への変換、PDF 編集、セキュリティ機能などの高度な機能を備えた包括的なライブラリです。PDFsharp はより基本的で、PDF の作成と編集に焦点を当てており、ネイティブな HTML から PDF への変換機能が欠けています。
IronPDF はクロスプラットフォーム アプリケーションに適していますか?
はい、IronPDF は Windows, macOS, Linux をサポートしており、.NET Core および .NET Framework と互換性があるため、クロスプラットフォーム アプリケーションに最適です。
IronPDF はどのようなセキュリティ機能を提供しますか?
IronPDF は、デジタル署名や 256 ビット暗号化を含む高度なセキュリティ機能を提供し、堅牢なドキュメント保護を必要とするアプリケーションに適しています。
PDFsharp が PDF 変換のために複雑なウェブページを処理できますか?
いいえ、PDFsharp はネイティブで HTML から PDF への変換をサポートしていません。Polybioz.HtmlRenderer.PdfSharp.Core のようなサードパーティ ツールが必要です。
IronPDF は開発者をどのように支援しますか?
IronPDF は包括的なドキュメント、専任のサポート チーム、活発なコミュニティ フォーラムを提供し、開発者向けに豊富なリソースを提供します。
IronPDF のライセンスオプションはどのようになっていますか?
IronPDF は、階層化された価格設定の永久ライセンス モデルを使用し、無料トライアル、年間更新、および商用サポートを提供しています。
PDFsharp は無料で使用できますか?
はい、PDFsharp は MIT ライセンスの下で無料でオープンソースで提供されており、個人および商業用に使用できます。
どのライブラリがPDF暗号化に対するより良いサポートを提供しますか?
IronPDF は、256 ビット暗号化やデジタル署名などの高度な暗号化機能を提供しており、安全な PDF 処理に適しています。
複雑な PDF 操作に最適な .NET ライブラリは何ですか?
IronPDF は高度な HTML から PDF への変換、編集、およびドキュメント セキュリティなどの機能を提供し、複雑な PDF タスクに適しています。



