Wkhtmltopdf C# コード例による比較
IronPDFと wkhtmltopdf
公式ドキュメント、 NuGetリスト、プロジェクト リポジトリからの証拠を使用した機能ごとの比較
| 特徴 | wkhtmltopdf | IronPDFPDF✦ |
|---|---|---|
| PDF作成と変換 | ||
| HTML/CSSからPDFへ |
⚠ Outdated Engine
主な用途はHTML→PDFですが、エンジンはQt WebKit(旧式)です。最新のCSS3、Flexbox、Gridのサポートが不足しています。
|
✓ Yes
組み込みの Chromium エンジン - Flexbox、グリッド、最新の Web 標準を備えたピクセルパーフェクトな HTML5/CSS3。
|
| JavaScriptの実行 |
~ Partial
JS 関連のオプションをサポートしていますが、古い WebKit エンジンでは複雑な JS に対して代替手段が推奨されます。
|
✓ Yes
埋め込まれた Chromium による完全な HTML/CSS/JavaScriptレンダリング - 動的なチャート、SPA、インタラクティブなコンテンツ。
|
| プログラムによる生成 |
✕ No
HTML を PDF にレンダリングすることのみを目的として設計されており、一般的なプログラムによる PDF 描画ライブラリではありません。
|
✓ Yes
PdfDocumentコンストラクタを使用して、新規/空のPDFを作成します。完全なプログラム制御が可能です。 |
| 結合、分割、並べ替え |
✕ No
変換ツールのみ。PDF ページ分割/結合 API の証拠はありません。
|
✓ Yes
専用の操作ガイドで結合/分割をサポート。ワンライン操作。
|
| 編集と操作 | ||
| ヘッダー、フッター、ページ番号 |
✓ Yes
エンジンはヘッダー/フッター機能 (CLI フラグ経由の一般的な wkhtmltopdf 機能) を提供します。
|
✓ Yes
専用のヘッダー/フッター API + ページ プレースホルダーがサポートされています。HTML ベースで完全にカスタマイズ可能です。
|
| 透かしとスタンプ |
✕ No
PDF エディターではありません。透かしは通常、変換前に HTML テンプレートを変更することによって行われます。
|
✓ Yes
HTML/テキスト/画像スタンパーを使った透かし/スタンプの付け方。不透明度、回転、位置のコントロールも可能。
|
| 読み取りと抽出 | ||
| PDF からテキストを抽出 |
✕ No
コンバーターのみ。テキスト抽出ライブラリではありません。
|
✓ Yes
ExtractAllText 順序付けオプション(例:視覚的な順序)をサポートします。 |
| ページを画像にレンダリングする |
✕ No
wkhtmltopdf は HTML → PDF を変換しますが、wkhtmltoimage は HTML → 画像であり、PDF → 画像ではありません。
|
✓ Yes
PDF から画像/ラスタライズへの API がドキュメント化されました。ネイティブ PNG、JPEG、BMP 出力。
|
| スキャンしたPDFのOCR |
✕ No
OCR は HTML → PDF コンバーターの範囲外です。
|
✓ Via IronOCR
OCR を使用して検索可能な PDF を作成します。IronOCR 統合により 127 以上の言語をサポートします。
|
| セキュリティとコンプライアンス | ||
| デジタル署名 |
✕ No
wkhtmltopdf は PDF 署名を実装していません。
|
✓ Yes
X509/PFX 証明書をサポートする専用の署名ガイド。
|
| PDF/A準拠 |
✕ No
PDF/A 準拠ワークフローは、サポートされている出力として文書化されていません。
|
✓ Yes
PDF/A変換ガイダンス(例:PDF/A-3Bの詳細)。エンタープライズコンプライアンスに対応。
|
| プラットフォームと展開 | ||
| クロスプラットフォームサポート |
⚙ Wrapper-Dependent
クロスプラットフォーム対応は、各OSに適切なネイティブバイナリがインストールされていることが前提となります。自己完結型ではありません。
|
✓ Yes
OS 固有のNuGetパッケージ + macOS および Linux ガイド。Windows、Linux、macOS、ARM をサポートしています。
|
| サーバー / Docker デプロイメント |
⚙ Wrapper-Dependent
ネイティブバイナリの配布が必要。プロジェクトではレガシーエンジンのステータスに注意。Docker のセットアップが複雑。
|
✓ Yes
公式の Azure Functions + Docker ガイド。オプションの個別のエンジン コンテナー。
|
| 最初のPDFまでの時間 |
~ Complex
ネイティブバイナリ管理とラッパー統合が必要です。単純なNuGetインストールではありません。
|
✓ Simple
クイックスタートでは、HTML→PDF のインストールと最小限のコードを示します。単一の
Install-Package IronPDF 。 |
| ライセンスとサポート | ||
| ライセンスの明確化 |
~ Complex
LGPLv3 ライセンスではコピーレフトの考慮事項が導入されており、異なる.NETラッパーには異なるライセンスが適用されます。
|
✓ Clear
EULAおよびライセンス条項は公開文書化されています。永続的な商用ライセンスです。
|
| 商用サポート / SLA |
? Unknown
エンジンはOSS(アーカイブ)です。引用元にはベンダーのSLAが記載されていません。コミュニティ限定のサポートとなります。
|
✓ 24/5 SLA
サポート ポータル + SLA 保証付きの"24 時間 365 日テクニカル サポート" - 電子メール、ライブ チャット、電話。
|
| ドキュメントの質 |
~ Partial
エンジンに関する広範な CLI ドキュメントがありますが、 .NETラッパー ドキュメントの品質は大きく異なります。
|
✓ Extensive
コピー アンド ペーストのコード サンプルとビデオ チュートリアルを含む完全な"開始方法/方法/例"ドキュメント。
|
IronPDFは、最新の、積極的にメンテナンスされている代替品です。30日間無料でお試しください。→
ニーズに合ったPDFライブラリを選ぶのは、無数の選択肢があると難しいです。 比較する際の重要な要素には、提供される機能とあなたの要件の対比、サポートとドキュメントのレベル、習得の難易度、そしてライセンスコストがあります。 特に、セキュリティの影響も考慮しなければなりません。
この比較は異なる設計哲学を持つ2つのPDF生成ライブラリをカバーします:wkhtmltopdfとIronPDF。 wkhtmltopdfは、シンプルなコマンドラインHTMLからPDFへの変換ツールとしての評判を築き、それをまさにその目的で多くのチームが頼りにしています。 しかし、C#でwkhtmltopdfを使用するとセキュリティリスクが生じる可能性があります。 外部の実行ファイル(WebKit)に依存しているため、脆弱性や不適切なコマンドのサニタイズによって、細工されたHTMLや引数を通じてサーバが攻撃される可能性があります。
IronPDFは、アプリケーションのセキュリティコンテキスト内で動作するマネージド.NETライブラリであり、外部プロセスに関連する攻撃対象領域を削減します。 以下のセクションでは、それぞれの機能、レンダリング能力、およびセキュリティアーキテクチャを比較します。
IronPDFとwkhtmltopdfとは何ですか?
IronPDFは、.NET Framework内でPDFの作成、操作、処理を行うためのC#ライブラリです。 そのAPIは、HTMLからPDFへの変換、テキストと画像の抽出、フォーム処理、暗号化やデジタル署名などのドキュメントセキュリティオプションを網羅しており、これらすべてが単一のNuGetパッケージを通じて利用可能です。 IronPDFはNuGetパッケージマネージャーコンソール経由でインストールでき、数分でライブラリを実行できるようになります。 詳細については、 IronPDFの公式ウェブサイトをご覧ください。
wkhtmltopdfは、Qt WebKitレンダリングエンジンを使用してHTMLページをPDFに変換する人気のツールであるwkhtmltopdfライブラリ for .NET Core P/インボクシングラッパーです。このオープンソースのライブラリはDinkToPdfからフォークされ、シンプルさを強調したHTMLからPDFへの変換に焦点を当てています。 インストールは簡単です; wkhtmltopdfの実行可能ファイルをダウンロードして実行した後、システムのパス環境変数に追加するだけで済みます。 wkhtmltopdfは軽量なライブラリですが、その範囲は変換に集中しており、より広範なPDF操作には焦点を置いていません。 IronPdfのセキュリティと機能の違いをご自身の環境で評価するために、30日間無料トライアルをご利用いただけます。
クロスプラットフォームの互換性
IronPDF
IronPDFは.NET Framework内の幅広い環境をサポートしており、異なるプラットフォーム間で一貫した動作を実現します。
-
.NET バージョン:
- 完全に書かれており、C#、VB.NET、F#をサポートします。
- .NET Core (8、7、6、5、および3.1+)。
- .NET Standard (2.0+)。
- .NET Framework (4.6.2+)。
*アプリケーション環境: IronPDFは、Windows、Linux、Mac、 Docker 、Azure、AWSなど、さまざまなアプリケーション環境で動作します。
-
IDE: Microsoft Visual StudioやJetBrains Rider & ReSharperなどのIDEと一緒に動作します。
- OSおよびプロセッサ: Windows、Mac、Linux、x64、x86、ARMなどのさまざまなOSおよびプロセッサをサポートしています。
IronPDFの互換性に関する詳細についてはIronPDF Compatibilityをご覧ください。
wkhtmltopdf
-
.NETバージョン: コマンドラインツールとして、wkhtmltopdf自体は直接的な.NETサポートを持っていませんが、通常、.NET開発者はDinkToPdfなどのラッパーやライブラリを使用してそれと対話します。
-
アプリ環境: wkhtmltopdf は Windows、Linux、および macOS などいくつかのアプリ環境でスムーズに動作します。
- プログラミング言語: wkhtmltopdf は主にコマンドラインツールを通じて使用され、C#、Java、Python、PHP、および Node.js などのプログラミング言語と統合されています。
インストール
IronPDFのインストール
IronPDF を使用するには、NuGet パッケージマネージャーを使用して Visual Studio にインストールします。
Install-Package IronPdf
wkhtmltopdf のインストール
-
インストーラをダウンロード:
- wkhtmltopdf のダウンロードページに移動します。
- "Windows"セクションの下で、インストーラの最新の安定版(例:.exeファイル)をダウンロードします。
-
インストーラを実行:
- ダウンロードした.exeファイルをダブルクリックします。
- インストールのプロンプトに従います。
- インストール中に、wkhtmltopdf をシステムの PATH に追加して、任意のコマンドプロンプトからアクセス可能にすることを選択できます。
- インストールの確認:
- コマンドプロンプト(cmd)を開きます。
wkhtmltopdf --versionを入力して、正しくインストールされているか確認してください。 画面にバージョン番号が表示されるはずです。
IronPDF と wkhtmltopdf の機能比較
IronPDF と wkhtmltopdf を比較するとき、両方のライブラリが提供するPDF生成と操作の機能を確認することが重要です。
IronPDFの機能:
-
PDF変換: IronPDFは、 HTML5、CSS3(FlexboxとGridを含む)、 JavaScriptを完全にサポートする組み込みのChromiumエンジンを使用してHTMLをPDFに変換します。 DOCX、画像、RTFなど、他の形式からの変換も可能です。
- PDF生成: IronPDFを使用すると、URL、画像形式、ASPXファイル、またはHTML文字列からPDFを生成できます。
*セキュリティ機能: IronPDF は、暗号化、パスワード保護、および詳細な権限設定 (読み取り専用、コピー/ペースト制限、印刷制御) を API の第一級操作として含んでいます。
- PDF編集機能: IronPDFは、既存のPDF文書を処理し、編集し、PDFファイルを読み取ることができます。 編集機能には、ヘッダーとフッターの追加、ページへのテキストや画像の挿入、カスタム透かしの適用、PDFフォームの操作、PDFファイルの分割または結合などが含まれます。
IronPDFの機能詳細についてはIronPDF 特徴sをご覧ください。
wkhtmltopdf C# の主な機能
-
HTMLからPDFへの変換: HTMLページ、ファイル、文字列、およびCSSコンテンツをPDFに変換し、元のレイアウトを保持します。
-
カスタマイズオプション: ページサイズ、余白、ヘッダー、フッターなどをサポートします。
-
オープンソース: MITライセンスの下で無料で使用可能です。
- クロスプラットフォームの互換性: Windows、Linux、macOS環境で動作します。
並べて表示するコード例
HTMLからPDFへの変換
IronPDF:
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from an HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
' Advanced Example with HTML Assets
' Load external html assets: Images, CSS and JavaScript.
' An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
wkhtmltopdf (DinkToPdf を使用):
using DinkToPdf;
var converter = new BasicConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1>" } }
};
byte[] pdf = converter.Convert(doc);
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf);
using DinkToPdf;
var converter = new BasicConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1>" } }
};
byte[] pdf = converter.Convert(doc);
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf);
Imports DinkToPdf
Private converter = New BasicConverter(New PdfTools())
Private doc = New HtmlToPdfDocument() With {
.Objects = {
New ObjectSettings() With {.HtmlContent = "<h1>Hello World</h1>"}
}
}
Private pdf() As Byte = converter.Convert(doc)
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf)
wkhtmltopdf (コマンドラインを使用)
wkhtmltopdf myfile.html myfile.pdf
wkhtmltopdf myfile.html myfile.pdf
IronPDFは、わずか数行のコードでHTMLコンテンツからピクセル単位で正確なPDFファイルを生成します。 内蔵のChromiumエンジンは最新のCSS3、Flexbox、Gridをサポートしているため、レンダリングされたPDFは元のソースと非常によく一致します。 wkhtmltopdf は HTML から PDF への変換という同じコアタスクを中心に構築されており、ラップライブラリまたはコマンドラインを介して呼び出す場合もそれを簡潔に処理します。通常、チームが摩擦を感じるのは、現代の CSS レイアウトに関連しています。wkhtmltopdf の Qt WebKit エンジンは Flexbox や Grid を完全にサポートしていないため、最新のデザインで予期しないレンダリング結果が生じることがあります。
PDFファイルの暗号化
IronPDF:
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
// The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
// The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports System
' Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")
' Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
' Edit file security settings
' The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' Change or set the document encryption password
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
wkhtmltopdf:
暗号化は現在 wkhtmltopdf の範囲外です。 それを実現するには、別途サードパーティ製のライブラリが必要です。
IronPDFは、パスワード保護、読み取り専用の強制、きめ細かなアクセス権限制御など、 PDFファイルの暗号化のための直接的なAPIを提供します。 wkhtmltopdf は変換ステップに焦点を当てているため、暗号化を必要とするチームは通常、PDF生成後にドキュメントセキュリティを処理するための別のライブラリを統合します。
PDFコンテンツの編集
IronPDF:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
wkhtmltopdf:
墨消しは wkhtmltopdf の機能セットに含まれていません。
IronPDFの墨消しAPIは、単一のメソッド呼び出し(上記の例では3行のコード)で指定されたコンテンツを墨消しします。 wkhtmltopdf は変換ツールとして設計されているため、PDFエディタとして設計されておらず、墨消しがその設計範囲外となっています。 この機能が必要なチームは、別途PDF操作ライブラリを追加する必要があります。
PDFファイルへのデジタル署名
IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
' Instantiate Renderer
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
' Create PdfSignature object
Private sig = New PdfSignature(cert)
' Sign PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
wkhtmltopdf C#:
wkhtmltopdf は PDF の署名用に設計されていません。 この機能を実現するには、別途ライブラリが必要です。
IronPDFのデジタル署名APIは、X509/PFX証明書を受け入れ、2つのメソッド呼び出しで文書に署名するため、大規模なプログラムによる署名を必要とするワークフローを効率化します。 wkhtmltopdf は PDFの署名を独自に処理するように設計されていません。 ただし、他のライブラリと併用する場合は、そのライブラリが必要な署名機能を提供している可能性があります。
カスタムウォーターマークの適用
IronPDF:
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
wkhtmltopdf:
ウォーターマークは wkhtmltopdf のネイティブ機能セットに含まれていません。 その代わりに、変換前にソースHTMLにCSSスタイルを適用するか、既存のドキュメントに透かしを適用できる別のPDFライブラリを使用する必要があります。
IronPDFの透かしツールはHTML/CSSベースのアプローチを採用しており、開発者は.NET APIから離れることなく、透明度、回転、位置を制御できます。 wkhtmltopdf は変換前にソース HTML に適用する CSS スタイリングを通じてウォーターマークを近似することができます。このアプローチは単純なケースでは機能しますが、自分の HTML から生成されていない既存の PDF にウォーターマークを付ける必要がある場合、その設計上の限界に達します。
画像とテキストのスタンプ
IronPDF:
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
wkhtmltopdf C#:
wkhtmltopdf には組み込みのスタンピングツールが含まれていません。 一般的な回避策は、変換前に目的のスタンプをソースのHTMLとCSSに埋め込むことです。
IronPDFは、PDFページにテキストや画像をスタンプするための専用のImageStamperクラスを提供します。これにはGoogleフォントのサポートと正確な配置制御が含まれます。 wkhtmltopdf には組み込みのスタンプツールが含まれていませんが、変換前にスタンプされたコンテンツを直接ソース HTML および CSS に埋め込むことで同様の結果を達成できます。
DOCXからPDF変換
IronPDF:
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()
' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
wkhtmltopdf C#:
wkhtmltopdf は HTML 入力にのみ特化しているため、DOCX の変換には追加のライブラリが必要です。
IronPDFは、そのDocxToPdfRendererクラスを使用してDOCXからPDFへの変換を処理します。例の上記では3行のコードです。 wkhtmltopdf のレンダリングパイプラインは HTML 入力を前提としているため、DOCX はサポートされるソース形式ではありません。 この機能が必要なチームは、wkhtmltopdf と並行して別の変換ライブラリを統合します。
コード例の比較の要約
IronPDFの機能の全範囲を実際に確認するには、 IronPDFの操作ガイドをご覧ください。各機能について、コピー&ペースト可能なコードサンプルとともに詳しく解説しています。
価格とライセンス: IronPDF vs. wkhtmltopdf
IronPDF
IronPDFは、ライセンスの購入にさまざまなレベルと追加の機能を提供しています。 開発者は、Iron Softwareのすべての製品を2つの価格で使用できるIron Suiteも購入できます。 ライセンスの購入をまだ決めていない場合、IronPDFは無料トライアルを提供しており、ライセンスを購入する前に提供されているすべての機能を探ることができます。
-
永続ライセンス: チームのサイズ、プロジェクトのニーズ、拠点数に応じた永続ライセンスの範囲を提供します。 各ライセンスタイプには電子メールサポートが付属しています。
-
Liteライセンス: このライセンスは1人の開発者、1つの拠点、1つのプロジェクトをサポートします。
-
Plusライセンス: Liteライセンスからの次のステップであるこのライセンスは、3人の開発者、3つの拠点、3つのプロジェクトをサポートします。 Plusライセンスは、基本的なメールサポートに加えて、チャットサポートと電話サポートを提供します。
-
プロフェッショナルライセンス: より大規模なチームに適したこのライセンスは、10人の開発者、10の拠点、10のプロジェクトをサポートします。 以前の階層と同様の連絡サポートチャンネルを提供し、画面共有サポートも提供しています。
-
ロイヤリティフリーの再配布: IronPDFのライセンスには追加料金でロイヤリティフリーの再配布も含まれています。
-
製品サポートの中断なし: IronPDFは、継続的な製品アップデート、セキュリティ機能のアップグレード、エンジニアリングチームからのサポートへのアクセスを提供します。
- Iron Suite: IronPDF、IronOCR、IronWord、IronXL、IronBarcode、IronQR、IronZIP、IronPrint、およびIronWebScraperを含むすべてのIron Software製品にアクセスできます。
wkhtmltopdf
wkhtmltopdf は無料で使用できるオープンソースツールで、ライブラリ自体を変更しない限り、プロプライエタリなアプリケーションで使用できる LGPL ライセンスの下で提供されています。
ライセンス費用以外にも、プロジェクトの総費用には、ネイティブバイナリの依存関係の管理、暗号化、署名、編集のための個別のライブラリの構築、Qt WebKitエンジンの限られたCSS3サポートへの対応など、開発者が費やした時間が含まれます。 複数年にわたるプロジェクトライフサイクル全体でコストを評価するチームにとって、これらの統合および保守コストは、オープンソースライセンスと商用ライセンスの差額をしばしば上回る。
ドキュメントおよびサポート: IronPDF vs. wkhtmltopdf
IronPDF
IronPDFは、充実したドキュメントとサポートを提供しています。
-
包括的なドキュメンテーション: すべての機能をカバーするユーザーフレンドリーで広範なドキュメンテーション。
-
24/5サポート: アクティブなエンジニアのサポートが利用可能です。
-
ビデオチュートリアル: YouTubeで利用可能なステップバイステップのビデオガイド。
-
コミュニティフォーラム: 追加サポートのための活発なコミュニティ。
-
定期更新: 最新の機能やセキュリティパッチを提供する毎月の製品更新。
- PDF APIリファレンス:当社のツールの機能を最大限に活用できるよう、 APIリファレンスを提供します。
詳細はIronPDFの包括的なドキュメントをご覧になり、Iron Software YouTube チャンネルにアクセスしてください。
wkhtmltopdf
-
GitHub: wkhtmltopdf の GitHub リポジトリは、ツールを使用中に見つけた問題を報告する場所です。
-
Stack Overflow: ここでは wkhtmltopdf に関連する多くの質問と回答を見つけることができ、コミュニティのアドバイスを受けることができます。
- 公式ドキュメント: インストール、使用法、コマンドラインオプション、および一般的な設定についての詳細を提供します。
どちらのライブラリを選ぶべきか?
IronPDF と wkhtmltopdf はどちらも C# での PDF 生成に対応していますが、それぞれ異なる複雑さのスペクトルを対象としています。 IronPDFは、アクティブなメンテナンスが行われているChromiumレンダリングエンジンを搭載した単一のNuGetパッケージを通じて、PDFのライフサイクル全体(変換、暗号化、墨消し、デジタル署名、DOCXからPDFへの変換など)を網羅しています。複数のPDF操作を含むプロジェクトを抱えるチームにとって、この統合されたアプローチは、管理すべき依存関係の数を削減します。
wkhtmltopdf は HTML から PDF への変換に特化した単純明快なアプローチで人気を獲得し、その無償ライセンスによりアクセスしやすいエントリーポイントとなっています。 通常、チームが変換以外の編集、セキュリティ、またはコンプライアンスに対する要求が増すと、wkhtmltopdf の設計範囲外となります。 プロジェクトのアーカイブ状態とWebKitエンジンの老朽化が相まって、要求が高まっているチームは、活発にメンテナンスされている代替案を評価するのに今が最適な時期だと考えることが多い。 最終的に最適な選択は、プロジェクトの現在および将来のPDF要件によって決まります。
30 日間無料トライアルを試して、利用可能な機能をチェックできます。
よくある質問
C# で HTML を PDF に変換するにはどうすればいいですか?
IronPDFのRenderHtmlAsPdfメソッドを使用してHTML文字列をPDFに変換することができます。さらに、RenderHtmlFileAsPdfを使用してHTMLファイルをPDFに変換することもできます。
IronPDFとWkHtmlToPdfの主な違いは何ですか?
IronPDFは、テキスト抽出、フォーム処理、暗号化、デジタル署名、ならびにクロスプラットフォーム互換性を含む包括的な機能セットを提供します。一方、WkHtmlToPdfはHTMLをPDFに直接変換することに重点を置いたオープンソースツールです。
.NETプロジェクトにIronPDFをインストールするにはどうすれば良いですか?
IronPDFは、Visual StudioのNuGetパッケージマネージャーを使用してコマンドInstall-Package IronPDFを実行することでインストールできます。
IronPDFを使用してPDFを暗号化することは可能ですか?
はい、IronPDFにはPDFファイルを暗号化し、パスワードを設定し、権限を割り当ててドキュメントのセキュリティを強化するオプションがあります。
IronPDFはクロスプラットフォーム開発をサポートしていますか?
IronPDFは、.NETフレームワーク内のさまざまな環境で互換性があり、Windows、Linux、Mac、Docker、Azure、AWSをサポートしています。
IronPDFはDOCXファイルをPDFに変換できますか?
はい、IronPDFにはDOCXファイルをシームレスにPDFに変換する機能が含まれています。
IronPDFユーザーにはどのようなサポートが提供されますか?
IronPDFは詳細なドキュメント、24/5技術者サポート、ビデオチュートリアル、コミュニティフォーラム、定期的なソフトウェアアップデートを提供しています。
WkHtmlToPdfをインストールするにはどうすればよいですか?
WkHtmlToPdfをインストールするには、公式サイトから実行ファイルをダウンロードし、インストーラーを実行し、システムのPATHに含められていることを確認します。
WkHtmlToPdfを使用する際のライセンスの影響は何ですか?
WkHtmlToPdfはLGPLライセンスの下で配布されており、オープンソースおよび商用アプリケーションの両方で無料で使用できます。
WkHtmlToPdfはPDF暗号化のサポートを提供していますか?
いいえ、WkHtmlToPdfにはPDF暗号化のネイティブサポートが含まれていません。暗号化機能のためには、追加のサードパーティライブラリが必要です。



