Wkhtmltopdf C# コード例による比較
IronPDFと wkhtmltopdf
公式ドキュメント、 NuGetリスト、プロジェクト リポジトリからの証拠を使用した機能ごとの比較
| 特徴 | wkhtmltopdf | IronPDFPDF✦ |
|---|---|---|
| PDF Creation & Conversion | ||
| 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を作成します。完全なプログラム制御が可能です。
|
| Merge, Split & Rearrange |
✕ No
変換ツールのみ。PDF ページ分割/結合 API の証拠はありません。
|
✓ Yes
専用の操作ガイドで結合/分割をサポート。ワンライン操作。
|
| Editing & Manipulation | ||
| Headers, Footers & Page Numbers |
✓ Yes
エンジンはヘッダー/フッター機能 (CLI フラグ経由の一般的な wkhtmltopdf 機能) を提供します。
|
✓ Yes
専用のヘッダー/フッター API + ページ プレースホルダーがサポートされています。HTML ベースで完全にカスタマイズ可能です。
|
| Watermarks & Stamps |
✕ No
PDF エディターではありません。透かしは通常、変換前に HTML テンプレートを変更することによって行われます。
|
✓ Yes
HTML/テキスト/画像スタンパーを使った透かし/スタンプの付け方。不透明度、回転、位置のコントロールも可能。
|
| Reading & Extraction | ||
| 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 以上の言語をサポートします。
|
| Security & Compliance | ||
| デジタル署名 |
✕ No
wkhtmltopdf は PDF 署名を実装していません。
|
✓ Yes
X509/PFX 証明書をサポートする専用の署名ガイド。
|
| PDF/A準拠 |
✕ No
PDF/A 準拠ワークフローは、サポートされている出力として文書化されていません。
|
✓ Yes
PDF/A変換ガイダンス(例:PDF/A-3Bの詳細)。エンタープライズコンプライアンスに対応。
|
| Platform & Deployment | ||
| クロスプラットフォームサポート |
⚙ Wrapper-Dependent
クロスプラットフォーム対応は、各OSに適切なネイティブバイナリがインストールされていることが前提となります。自己完結型ではありません。
|
✓ Yes
OS-specific NuGet packages + macOS & Linux guides. Windows, Linux, macOS, ARM supported.
|
| サーバー / Docker デプロイメント |
⚙ Wrapper-Dependent
ネイティブバイナリの配布が必要。プロジェクトではレガシーエンジンのステータスに注意。Docker のセットアップが複雑。
|
✓ Yes
公式の Azure Functions + Docker ガイド。オプションの個別のエンジン コンテナー。
|
| 最初のPDFまでの時間 |
~ Complex
ネイティブバイナリ管理とラッパー統合が必要です。単純なNuGetインストールではありません。
|
✓ Simple
クイックスタートでは、HTML→PDF のインストールと最小限のコードを示します。単一の
Install-Package IronPDF 。
|
| Licensing & Support | ||
| ライセンスの明確化 |
~ 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ライブラリの.NET Core P/Invokeラッパーです。このオープンソースライブラリは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などの複数のアプリ環境内でスムーズに動作します。
- プログラミング言語: 主にコマンドラインツールを介して、またはC#、Java、Python、PHP、Node.jsなどのプログラミング言語と統合して使用されます。
インストール
IronPDFのインストール
IronPDF を使用するには、NuGet パッケージマネージャーを使用して Visual Studio にインストールします。
Install-Package IronPdf
Wkhtmltopdfのインストール
-
インストーラをダウンロード:
- WkHtmlToPdfのダウンロードページに移動します。
- "Windows"セクションの下で、インストーラの最新の安定版(例:.exeファイル)をダウンロードします。
-
インストーラを実行:
- ダウンロードした.exeファイルをダブルクリックします。
- インストールのプロンプトに従います。
- インストール時に、システムPATHにWkHtmlToPdfを追加して任意のコマンドプロンプトからアクセスできるようにすることができます。
- インストールの確認:
- コマンドプロンプト(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に埋め込むことです。
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はDOCXからPDFへの変換をDocxToPdfRendererクラスを通して処理します。 WkHtmlToPdfのレンダリングパイプラインはHTML入力を前提としているため、DOCXはサポートされているソース形式ではありません。 この機能を必要とするチームは、WkHtmlToPdfに加えて、別の変換ライブラリを統合する必要があります。
コード例の比較の要約
IronPDFの機能の全範囲を実際に確認するには、 IronPDFの操作ガイドをご覧ください。各機能について、コピー&ペースト可能なコードサンプルとともに詳しく解説しています。
価格とライセンス: IronPDF vs. WkHtmlToPdf
IronPDF
IronPDFは、ライセンスの購入にさまざまなレベルと追加の機能を提供しています。 開発者は[Iron Suite](Iron Suite)も購入でき、これによりIronSoftwareのすべての製品に2つの価格でアクセスできます。 ライセンスの購入をまだ決めていない場合、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ライセンスの下でライブラリ自体を変更しない限り、プロプライエタリアプリケーションでWkHtmlToPdfを使用することを許可する無料のオープンソースツールです。
ライセンス費用以外にも、プロジェクトの総費用には、ネイティブバイナリの依存関係の管理、暗号化、署名、編集のための個別のライブラリの構築、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暗号化のネイティブサポートが含まれていません。暗号化機能のためには、追加のサードパーティライブラリが必要です。



