C# .NETでのHTMLからPDFへの変換
IronPDFの開発者として、HTMLからPDFへの変換が顧客の期待に応える正確で高品質な結果を生み出すことがどれほど重要であるかを理解しています。 このC#チュートリアルは、あなたのアプリケーション、プロジェクト、ウェブサイトのためのHTMLからPDFへのコンバーターを構築する方法を案内します。 私たちはC# HTMLからPDFへのコンバーターを開発し、IronPDFから出力されるPDFドキュメントはGoogle Chromeウェブブラウザで生成されたPDFとピクセルパーフェクトに一致します。
概要
C#でHTMLをPDFに変換する方法

- HTMLからPDFへのC#ライブラリをダウンロードしてインストールします
- HTML文字列でPDFを作成する
- RenderHtmlAsPdfメソッドを使用して、HTML文字列をPDFに変換します。
- 既存のURLを使用してPDFをエクスポート
- HTMLページからPDFを生成する
- カスタムヘッダーとフッターを追加
- `SaveAs`メソッドを呼び出して、PDFファイルをコンピューターに保存します。
- より多く
C#およびVB.NET用のHTMLからPDFへの変換ツール
.NETでプログラム的にPDFファイルを作成することは、イライラする作業となりがちです。 PDFドキュメントファイル形式は、開発者向けというよりもプリンター向けに設計されました。 C#にはPDF生成に適したライブラリや機能が多く組み込まれておらず、市場に出回っている多くのライブラリはすぐには使えない状態であり、単純なタスクを達成するのに複数行のコードを必要とすることが多く、さらなるフラストレーションを引き起こします。
このチュートリアルで使用するC# HTMLからPDFに変換するツールは、Iron SoftwareのIronPDFです。これは非常に人気のあるC# PDF生成および編集ライブラリです。 このライブラリは包括的なPDF編集および生成機能を備えており、完全にすぐに使える状態で動作し、必要なことを最小限のコード行数で正確に行います。また、その50以上の機能に関する優れたドキュメント. IronPDFは、 .NET 8、.NET 7、.NET 6、.NET 5、.NET Core、Standard、Frameworkを、Windows、macOS、Linux、Docker、Azure、AWSでサポートしている点で際立っています。
C#とIronPDFを使用して、ロジックを「PDFドキュメントを生成する「 または 」HTMLからPDFへの変換「は簡単です。」 IronPDFの先進的なクロームレンダラーにより、PDFドキュメントのデザインやレイアウトのほとんど、あるいはすべてが既存のHTML資産を利用することができます。
このHTML5を使用した.NETでの動的PDF生成方法は、コンソールアプリケーション、Windowsフォームアプリケーション、WPF、さらにはウェブサイトやMVCでも同様に機能します。
IronPDFは、ピクセルパーフェクトPDFのためのChromeによるHTMLのデバッグもサポートしています。 これを設定するためのチュートリアルは、こちらにあります これ.
IronPDFは、.NETエコシステム内外から複数の言語で動作します。
- F# ガイド
- VB.NETガイド
- Python
- Java
-
IronPDFは、機能するためにトライアルまたは有料ライセンスが必要です。 Here is the translation of the provided text into Japanese:
あなたはここでライセンスを購入する またはサインアップして こちらに30日間無料トライアルキーを取得.
ステップ 1
HTML to PDF C#ライブラリをダウンロードしてインストール
今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。
Visual Studio - NuGetパッケージマネージャー
Visual Studioで、プロジェクトソリューションエクスプローラーを右クリックして「NuGetパッケージの管理...」を選択します。そこから単にIronPDFを検索し、最新バージョンをソリューションにインストールしてください。 表示されるダイアログボックスには「OK」をクリックしてください。これはVB.NETプロジェクトでも同様に機能します。
Install-Package IronPdf
NuGetウェブサイト上のIronPDF
IronPDFの機能、互換性、ダウンロードについての詳しい説明は、NuGetの公式ウェブサイトでIronPDFを確認してください。 https://www.nuget.org/packages/IronPdf
DLL経由でインストール
別のオプションとして、IronPDF DLLを直接インストールすることができます。 IronPDFは、プロジェクトまたはGACに手動でインストールしてダウンロードできます https://ironpdf.com/packages/IronPdf.zip
チュートリアルの方法
C# .NETでHTML文字列からPDFを作成する
HTML文字列をPDFに変換する方法
C#で新しいPDFファイルを作成することは非常に効率的で報われるスキルです。
簡単に使用できますChromePdfRenderer.RenderHtmlAsPdfHTMLを変換する方法(HTML5)PDFに文字列を変換。 C# HTML to PDFレンダリングは、IronPDF DLLに組み込まれたGoogle Chromiumエンジンの完全機能バージョンによって実行されます。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-1.cs
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1> Hello IronPdf </h1>");
pdf.SaveAs("pixel-perfect.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf("<h1> Hello IronPdf </h1>")
pdf.SaveAs("pixel-perfect.pdf")
RenderHtmlAsPdf
は HTML5、CSS3、JavaScript、および画像を完全にサポートしています。 これらのアセットがハードディスクにある場合、RenderHtmlAsPdf
の第2パラメータをアセットが含まれているディレクトリに設定することを検討するかもしれません。 このメソッドは、PDF情報を保持するために使用されるクラスであるPdfDocumentオブジェクトを返します。
IronPDFは、HTMLをChromeと同じように正確にレンダリングします。
HTML、CSS、およびJavaScriptを編集する際に、そこでの変更がIronPDFから出力されるPDFとピクセル単位で同じであることを確認するため、ChromeをフルHTMLデバッグ用にセットアップするための完全なチュートリアルを用意しています。 こちらのチュートリアルをご覧ください:ChromeでHTMLをデバッグしてピクセル完璧なPDFを作成する方法.
BaseUrlPath: ベースURLパス
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-2.cs
using IronPdf;
// this will render C:\MyProject\Assets\image1.png
var pdf = renderer.RenderHtmlAsPdf("<img src='image1.png'/>", @"C:\MyProject\Assets\");
Imports IronPdf
' this will render C:\MyProject\Assets\image1.png
Private pdf = renderer.RenderHtmlAsPdf("<img src='image1.png'/>", "C:\MyProject\Assets\")
参照されるすべてのCSSスタイルシート、画像、およびJavaScriptファイルは BaseUrlPath
に対して相対的であり、整った論理的な構造に保つことができます。 もちろん、Google FontsやjQueryなどのウェブフォントを含む画像、スタイルシート、およびアセットをオンラインで参照するオプションもあります。
既存のURLを使用してPDFをエクスポート
PDFへのURL
(URLをPDFに変換)
既存のURLをC#でPDFとしてレンダリングすることは非常に効率的で直感的です。これにより、チームはPDFデザインとバックエンドのPDFレンダリング作業を複数のチームに分けて実行することも可能です。
次の例でWikipedia.comのページをレンダリングします:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-3.cs
using IronPdf;
// Create a PDF from any existing web page
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("wikipedia.pdf");
Imports IronPdf
' Create a PDF from any existing web page
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
pdf.SaveAs("wikipedia.pdf")
C#コードによって生成されたPDF内では、ハイパーリンクやHTMLフォームさえも保持されることに気付くでしょう。
既存のウェブページをレンダリングする際に、適用したいトリックがあります:
印刷およびスクリーンCSS
現代のCSS3では、印刷と画面の両方に対するCSSディレクティブがあります。 IronPDFに「Print」CSSをレンダリングするように指示することができます。これらはしばしば簡略化されたり見落とされたりします。 デフォルトでは「Screen」CSSスタイルがレンダリングされますが、IronPDFユーザーは最も直感的だと感じています。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-4.cs
using IronPdf;
using IronPdf.Rendering;
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
// or
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
Imports IronPdf
Imports IronPdf.Rendering
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen
' or
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
メインページ: 画面と印刷の完全な比較(画像付き)は、以下にありますこれ.
ジャバスクリプト
IronPDFはJavaScript、jQuery、さらにはAJAXにも対応しています。 次の内容を日本語に翻訳してください:
We may need to instruct
指導が必要になる可能性がありますIronPDFがJSまたはajaxを待機するウェブページのスナップショットをレンダリングする前に実行を完了する。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-5.cs
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
IRON VB CONVERTER ERROR developers@ironsoftware.com
JavaScript標準に従って高度なレンダリングを実行することで、コンプライアンスを示すことができます。d3.js JavaScriptコードチャートCSVデータセットから、次のような内容です:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-6.cs
using IronPdf;
// Create a PDF Chart a live rendered dataset using d3.js and javascript
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");
pdf.SaveAs("chart.pdf");
Imports IronPdf
' Create a PDF Chart a live rendered dataset using d3.js and javascript
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006")
pdf.SaveAs("chart.pdf")
レスポンシブCSS
.NETでレスポンスCSSを使用してHTMLをPDFに変換! レスポンシブ ウェブ ページブラウザで表示されるように設計されています。 IronPDFは、サーバーのOS内で実際のブラウザウィンドウを開きません。 これは、レスポンシブ要素が最小サイズでレンダリングされることを招く可能性があります。
この問題を解決するために、Print CSSメディアタイプの使用をお勧めします。 印刷用CSSは通常、レスポンシブであるべきではありません。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-7.cs
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
HTMLページからPDFを生成
私たちは、任意のHTMLページをハードディスク上のPDFにレンダリングすることもできます。 すべての関連アセット(CSS、画像、jsなど)は、ファイルが file:// プロトコルを使用して開かれたかのようにレンダリングされます。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-8.cs
using IronPdf;
// Create a PDF from an existing HTML using C#
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");
pdf.SaveAs("Invoice.pdf");
Imports IronPdf
' Create a PDF from an existing HTML using C#
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html")
pdf.SaveAs("Invoice.pdf")
このメソッドには、開発中にHTMLコンテンツをブラウザでテストする機会を開発者に提供するという利点があります。 IronPDFのレンダリングエンジンはChromeをベースにしているため、Chromeを推奨します。
変換するためにXMLからPDFへ変換する際、XSLTテンプレートを使用してXMLコンテンツをPDFに印刷できます。.
カスタムヘッダーとフッターを追加
ヘッダーとフッターは、レンダリング時または既存のPDFファイルにIronPDFを使用して追加できます。
IronPDFを使用すると、ヘッダーとフッターはTextHeaderFooter
クラスを使用してシンプルなテキストベースのコンテンツを含めることができます。または、HtmlHeaderFooter
クラスを使用して画像やリッチHTMLコンテンツを含めることができます。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-9.cs
using IronPdf;
// Create a PDF from an existing HTML
var renderer = new ChromePdfRenderer
{
RenderingOptions =
{
MarginTop = 50, //millimeters
MarginBottom = 50,
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print,
TextHeader = new TextHeaderFooter
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
},
TextFooter = new TextHeaderFooter
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
}
}
};
var pdf = renderer.RenderHtmlFileAsPdf("assets/TestInvoice1.html");
pdf.SaveAs("Invoice.pdf");
// This neat trick opens our PDF file so we can see the result
System.Diagnostics.Process.Start("Invoice.pdf");
Imports IronPdf
' Create a PDF from an existing HTML
Private renderer = New ChromePdfRenderer With {
.RenderingOptions = {
MarginTop = 50, MarginBottom = 50, CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print, TextHeader = New TextHeaderFooter With {
.CenterText = "{pdf-title}",
.DrawDividerLine = True,
.FontSize = 16
},
TextFooter = New TextHeaderFooter With {
.LeftText = "{date} {time}",
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 14
}
}
}
Private pdf = renderer.RenderHtmlFileAsPdf("assets/TestInvoice1.html")
pdf.SaveAs("Invoice.pdf")
' This neat trick opens our PDF file so we can see the result
System.Diagnostics.Process.Start("Invoice.pdf")
次のハウツー記事で、すべてのレンダリングオプションを探索してください。レンダリングオプションの使用方法.
HTMLヘッダーおよびフッター
HtmlHeaderFooter
クラスを使用すると、HTML5コンテンツを利用してリッチなヘッダーおよびフッターを生成することができます。これには画像、スタイルシート、ハイパーリンクを含むことも可能です。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-10.cs
using IronPdf;
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
};
Imports IronPdf
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
PDFヘッダーとフッターの動的データ
次のプレースホルダーを使用して、テキストやヘッダーおよびフッターのHTMLにコンテンツを「メールマージ」することができます:
- {ページ}現在のページ番号用
- {総ページ数}PDFの総ページ数
- {URL}ウェブページからレンダリングされたPDFのURL
- {日付}本日の日時
- {時間}現在の時刻について
- {html-タイトル}レンダリングされたHTMLドキュメントのtitle属性用
- {pdfタイトル}ドキュメントタイトルの設定は、ChromePdfRenderOptionsを介して行うことができます
C# HTML から PDF への変換設定
ユーザーやクライアントがPDFコンテンツのレンダリングに期待する方法には多くのニュアンスがあります。
ChromePdfRenderer
クラスには、これらのオプションを設定するための RenderingOptions プロパティが含まれています。
たとえば、「print
」スタイルのCSS3ディレクティブのみを受け入れるように選択することができます。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-11.cs
using IronPdf;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
Imports IronPdf
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
ページに余白を増やして大きなヘッダーやフッターのスペースを確保したり、パンフレットやポスターの商業印刷のために余白をゼロに設定したりするために、印刷の余白サイズを変更したい場合もあります。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-12.cs
using IronPdf;
renderer.RenderingOptions.MarginTop = 50; // millimeters
renderer.RenderingOptions.MarginBottom = 50; // millimeters
Imports IronPdf
renderer.RenderingOptions.MarginTop = 50 ' millimeters
renderer.RenderingOptions.MarginBottom = 50 ' millimeters
HTML要素の背景画像をオンまたはオフにしたい場合があります:
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-13.cs
using IronPdf;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
Imports IronPdf
renderer.RenderingOptions.PrintHtmlBackgrounds = True
また、出力されるPDFを任意の仮想用紙サイズでレンダリングすることも可能です。これには、ポートレートやランドスケープのサイズ、ミリメートルやインチで設定できるカスタムサイズも含まれます。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-14.cs
using IronPdf;
using IronPdf.Rendering;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
Imports IronPdf
Imports IronPdf.Rendering
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
以下のハウツー記事で、すべてのレンダリングオプションを探る:レンダリングオプションの使用方法."
HTMLテンプレートを適用
テンプレートや「バッチ作成」PDFは、インターネットおよびウェブサイト開発者にとって一般的な要件です。
IronPDFを使用することで、PDFドキュメント自体のテンプレートを作成するのではなく、既存の、よく使用されている技術を使ってHTMLのテンプレートを作成することができます。 HTMLテンプレートがクエリ文字列またはデータベースからのデータと組み合わされると、動的に生成されたPDFドキュメントが作成されます。
最も簡単な例として、基本的なサンプルにはC#のString.Formatメソッドを使用することが効果的です。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-15.cs
using System;
String.Format("<h1>Hello {0} !</h1>", "World");
Imports System
String.Format("<h1>Hello {0} !</h1>", "World")
HTMLファイルが長い場合、しばしば任意のプレースホルダーを使用できます、例えば ```[[名前]]後で実際のデータに置き換えてください。
以下の例では、各ユーザーにパーソナライズされた3つのPDFを作成します。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-16.cs
var htmlTemplate = "<p>[[NAME]]</p>";
var names = new[] { "John", "James", "Jenny" };
foreach (var name in names)
{
var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);
var pdf = renderer.RenderHtmlAsPdf(htmlInstance);
pdf.SaveAs(name + ".pdf");
}
Dim htmlTemplate = "<p>[[NAME]]</p>"
Dim names = { "John", "James", "Jenny" }
For Each name In names
Dim htmlInstance = htmlTemplate.Replace("[[NAME]]", name)
Dim pdf = renderer.RenderHtmlAsPdf(htmlInstance)
pdf.SaveAs(name & ".pdf")
Next name
Handlebars.NETを使用した高度なテンプレート作成
C#データをHTMLと結合してPDFを生成する洗練された方法は、Handlebarsテンプレート標準を使用することです。
Handlebarsは、データベースレコードを含むC#オブジェクトやクラスインスタンスから動的なHTMLを作成することが可能です。 Handlebarsは、請求書の生成など、クエリが不明な数の行を返す場合に特に効果的です。
まず、プロジェクトに追加のNuGetパッケージを追加する必要があります:https://www.nuget.org/packages/Handlebars.NET/
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-17.cs
var source =
@"<div class=""entry"">
<h1>{{title}}</h1>
<div class=""body"">
{{body}}
</div>
</div>";
var template = Handlebars.Compile(source);
var data = (title: "My new post", body: "This is my first post!");
var result = template(data);
/* Would render:
<div class="entry">
<h1>My New Post</h1>
<div class="body">
This is my first post!
</div>
</div>
*/
Dim source = "<div class=""entry"">
<h1>{{title}}</h1>
<div class=""body"">
{{body}}
</div>
</div>"
Dim template = Handlebars.Compile(source)
Dim data = (title:= "My new post", body:= "This is my first post!")
Dim result = template(data)
' Would render:
'<div class="entry">
' <h1>My New Post</h1>
' <div class="body">
' This is my first post!
' </div>
'</div>
'
このHTMLをレンダリングするには、単に RenderHtmlAsPdf
メソッドを使用できます。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-18.cs
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlInstance);
pdf.SaveAs("Handlebars.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf(htmlInstance)
pdf.SaveAs("Handlebars.pdf")
次のリンクからHandlebars HTMLテンプレートの標準およびそのC#での使用方法について詳しく学ぶことができます:https://github.com/rexm/Handlebars.NET
HTML5を使用して改ページを追加する
PDFドキュメントの一般的な要件として、ページ番号の付加があります。 開発者は、クリーンで読みやすいレイアウトのためにPDFページの開始位置と終了位置を制御する必要があります。
これを実行する最も簡単な方法は、あまり知られていないCSSトリックを使用することで、これにより印刷されたHTMLドキュメントにページブレークが生成されます。
<div style='page-break-after: always;'> </div>
<div style='page-break-after: always;'> </div>
提供されたHTMLは機能しますが、最適なプラクティスとは言えません。以下の例のように、media属性を調整することをお勧めします。 複数ページのHTMLコンテンツを整理するためのすっきりとした方法。
<!DOCTYPE html>
<html>
<head>
<style type="text/css" media="print">
.page{
page-break-after: always;
page-break-inside: avoid;
}
</style>
</head>
<body>
<div class="page">
<h1>This is Page 1</h1>
</div>
<div class="page">
<h1>This is Page 2</h1>
</div>
<div class="page">
<h1>This is Page 3</h1>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style type="text/css" media="print">
.page{
page-break-after: always;
page-break-inside: avoid;
}
</style>
</head>
<body>
<div class="page">
<h1>This is Page 1</h1>
</div>
<div class="page">
<h1>This is Page 2</h1>
</div>
<div class="page">
<h1>This is Page 3</h1>
</div>
</body>
</html>
こちらのコンテンツを日本語に翻訳してください:
The How-To outline more改ページに関するヒントとコツ
PDFに表紙を添付
IronPDFを使用すると、PDFドキュメントを簡単に結合できます。 この手法の最も一般的な使用例は、既存のレンダリングされたPDFドキュメントに表紙ページや裏表紙ページを追加することです。
そのためには、まず表紙ページをレンダリングし、その後 PdfDocument.Merge
を使用します。()2つのドキュメントを結合するためのstatic メソッド。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-19.cs
using IronPdf;
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
var pdfMerged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), pdf).SaveAs("Combined.Pdf");
Imports IronPdf
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/")
Private pdfMerged = PdfDocument.Merge(New PdfDocument("CoverPage.pdf"), pdf).SaveAs("Combined.Pdf")
完全なコード例はこちらにあります: PDFカバーページコード例
ウォーターマークを追加
最終C# PDF (シーシャープ ピーディーエフ)IronPDFがサポートしている機能の一つに、ドキュメントにウォーターマークを追加することがあります。 これは、文書の各ページに「機密」または「サンプル」という通知を追加するために使用できます。
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-20.cs
using IronPdf;
using IronPdf.Editing;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Watermarks all pages with red "SAMPLE" text at a custom location.
// Also adding a link to the watermark on-click
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 0, VerticalAlignment.Middle, HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
' Watermarks all pages with red "SAMPLE" text at a custom location.
' Also adding a link to the watermark on-click
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 0, VerticalAlignment.Middle, HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
完全なコード例はこちらにあります: PDF透かしコードの例
C# ソースコードをダウンロード
このチュートリアルのフル 無料HTMLからPDFへの変換C#ソースコード は、Visual Studio 2022のプロジェクトファイルとして圧縮された形でダウンロード可能です。レンダリングエンジンを使用して、C#でPDFドキュメントオブジェクトを生成します。
このチュートリアルをVisual Studioプロジェクトとしてダウンロードする
無料ダウンロードには、HTMLからPDFを作成するために必要なすべてのものが含まれています。これには、次のC# PDFコード例も含まれます。
-
C#を使用してHTML文字列をPDFに変換する
-
C#でHTMLファイルをPDFに変換(CSS、JavaScript、および画像をサポート)
-
URLを使用してC#でHTMLをPDFに変換(「URLからPDFへ」)
-
C# PDF編集と設定の例
-
d3.jsなどのJavaScriptキャンバスチャートをPDFにレンダリングする
- C#用のPDFライブラリ
クラスリファレンス
開発者は IronPdf.PdfDocument
クラスのリファレンスにも興味があるかもしれません。
https://ironpdf.com/object-reference/api/IronPdf.PdfDocument.html
このオブジェクトモデルは、PDFドキュメントが以下のように処理される方法を示しています:
- 暗号化およびパスワード保護
- 新しいHTMLコンテンツで編集または「スタンプ」されました。
- 前景画像と背景画像で強化されています
- ページまたはドキュメントレベルでマージ、結合、切り詰め、スプライスされる
- OCRを処理してテキストと画像を抽出
Blazor HTML から PDF への変換
BlazorサーバーにHTMLからPDF機能を追加するのは簡単です。次の手順に従ってください:
-
新しいBlazorサーバープロジェクトを作成するか、既存のプロジェクトを使用してください。
-
NuGetを使用してプロジェクトにIronPDFライブラリを追加します。
-
新しいRazorコンポーネントを追加するか、既存のものを使用する
-
InputTextArea
を追加して IronPDF にリンクします -
IronPDFにお任せしてデプロイしましょう
画像とコード例を含む完全なステップバイステップガイドは、以下で見つけることができますこれ.
IronPDFは、現代の.NET開発者向けに調整された強力でフル機能のPDFライブラリです。 高度なChromiumエンジンを搭載したネイティブHTML-to-PDF変換、直感的なAPI、定期的なアップデートにより、開発を簡素化しながら高品質な結果を保証します。 他のツールとどのように比較されるかを詳しく見てみましょう。
PdfSharp(ピーディーエフ・シャープ)
- コア機能: PdfSharpは、基本的なPDFの作成と編集をサポートするオープンソースのライブラリです。 しかし、これは内蔵のHTMLからPDFへの変換機能がなく、ウェブコンテンツを正確にレンダリングするには重要です。
- モダンスタンダード: IronPDFは、Chromiumベースのエンジンを通じて、HTML、CSS、JavaScriptなどのモダンなウェブ技術を活用し、PDFが現代的な外観と感触を維持することを保証します。
- サポートと更新: PdfSharpは更新が不定期で公式サポートが不足していますが、IronPDFは毎月の更新やセキュリティパッチ、プロフェッショナルな支援を提供しており、エンタープライズアプリケーションに最適です。 wkhtmltopdf
- 統合の容易さ: wkhtmltopdfはコマンドライン操作と手動による依存関係の設定が必要なため、.NETアプリケーションとの統合がより面倒になります。
- レンダリング技術:wkhtmltopdfは、旧式のWebKitエンジンに依存しています。このため、現代のJavaScriptとCSSを処理するのに苦労し、特に動的でコンテンツが豊富なウェブサイトでは出力の生成に時間がかかることが多いです。 IronPDFのChromiumエンジンは正確で信頼性の高いレンダリングを提供します。
- 継続的な開発: wkhtmltopdfは2022年以降、ほとんど活発な開発が行われておらず、サポートも限られていますが、IronPDFは頻繁なアップデートと専用のカスタマーサービスを備えて進化し続けています。
- セキュリティの脆弱性
iTextSharp
iTextSharpは、.NET開発者向けのPDFライブラリで、PDFドキュメントの作成、編集、解析を提供します。このオープンソースライブラリは、複雑なレイアウトやフォーマット操作が可能で、多くの機能を提供しています。
特徴:
- PDFの生成と編集
- テキスト、画像、グラフ、アノテーションの追加
- フォームフィールドの操作
- PDFセキュリティ(暗号化、デジタル署名)のサポート
このライブラリは、高度なPDF操作が必要な多くのアプリケーションに利用されています。
- HTML-to-PDFレンダリング:iTextSharpの無料版は、ネイティブなHTML-to-PDF変換を提供しておらず、開発者は複雑な回避策を使用せざるを得ないことが多いです。 一方、IronPDFは、現代のウェブ技術を完全にサポートし、シームレスな変換を提供します。
- 開発者エクスペリエンス: iTextSharpの低レベルAPIは扱いにくく時間がかかり、開発を遅らせる可能性があります。 IronPDFは、クリーンで直感的なC# APIを提供し、コーディングを簡素化し、プロジェクトの納期を短縮します。
- メンテナンス & サポート: IronPDF は、プロフェッショナルなサポートと定期的な更新を提供し、セキュリティと効率性を確保しますが、iTextSharp の無料バージョンは古く、公式なサポートがありません。
- ライセンスは面倒です Aspose.PDF
- 変換品質: Aspose.PDFは有能なツールですが、HTMLからPDFへの変換には制限があり、最新のCSSやJavaScriptには苦労する可能性があります。 Asposeは直接URLからPDFへの変換を許可していないため、開発者はHTMLを手動でダウンロードするか、コンテンツをストリームする必要があり、余分な手順が追加されます。 それを実行しても、生成されたPDFにはスタイルやレイアウト要素、動的コンテンツがしばしば欠けています。 IronPDFのChromiumベースのエンジンは、複雑なウェブレイアウトの高忠実度変換を保証します。
- APIの使いやすさ: Aspose.PDFのAPIは冗長でナビゲートが難しい場合がありますが、IronPDFは開発者に優しい体験を提供することに重点を置き、セットアップ時間を最小限に抑え、生産性を向上させます。
- パフォーマンス: IronPDFの最適化された処理は、より高速な変換速度と優れたパフォーマンスを保証し、高ボリュームのPDF生成ニーズを持つエンタープライズアプリケーションにとって強力な選択肢となります。 Syncfusion PDF
- APIの複雑性: Syncfusion PDFは強力なツールですが、APIがより複雑で、開発を遅くする可能性があります。 対照的に、IronPDFは迅速な統合のための簡単なAPIを提供します。
- レンダリングエンジン: SyncfusionはWebKitエンジンとBlinkエンジンの両方をサポートしています。 Blink は WebKit よりも高速ですが、実際のテストでは、Syncfusion の Blink エンジンは IronPDF の Chromium レンダリング エンジンよりもパフォーマンスが低いことが示されています。さらに、Syncfusion は複雑なページを完全にキャプチャするのに苦労しており、動的にロードされたセクションや特定の CSS スタイルを見逃すことがあります。 IronPDFのChromiumエンジンは、JavaScriptやCSSを多用した最新のサイトでも正確で一貫性のあるレンダリングを保証します。
- 高度な機能: 標準の変換に加えて、IronPDFにはデジタル署名、注釈、フォーム入力、OCR、バーコード生成などの強力な機能が含まれており、プロジェクトにさらなる価値を付加します。
レンダリングの比較
これらのライブラリのHTMLからPDFへの変換品質を比較するために、動的コンテンツ、ライブ更新、モダンなCSS、JavaScriptベースの要素を含むRedditページを使用しました。
https://www.reddit.com/
こちらが結果です:
-
IronPDF出力 – 動的なコンテンツと現代的なスタイリングを保持した、整った視覚的に正確なPDF。
-
Syncfusion Output – 変換は成功しましたが、特に動的コンテンツで多くのセクションやスタイルが欠落しました。 最初はRedditによってブロックされました。 より良い結果を達成するには、コマンドライン引数による広範なチューニングが必要ですが、依然として出力は期待に達しません。
-
Aspose.PDF 出力 – まず手動でHTMLをダウンロードする必要があります(Asposeは直接的なURL変換をサポートしていないため). 変換後でも、出力は適切なフォーマットが欠けており、セクションのほとんどが欠けていました。
- PdfSharpとiTextSharp – 両方ともネイティブでHTMLからPDFへの変換をサポートしておらず、このテストから除外されました。これらのライブラリを使用する開発者は、HTMLレンダリングにはサードパーティツールに依存する必要があります。
-
Wkhtmltopdf – wkhtmltopdfは変換を素早く完了しましたが、結果は単純で静的なページとなり、リアルタイム更新や動的要素、インタラクティブなセクションなどの重要なコンテンツが欠落していました。 これにより、wkhtmltopdfは現代の動的なウェブページには不向きです。
結論
.NET開発者向けの最新で信頼性の高いPDFソリューションを求めているなら、IronPDFは競合よりも優れています。 シームレスなHTMLからPDFへの変換、使いやすさ、定期的なアップデート、そして包括的な機能セットにより、IronPDFは最適な選択肢となります。小規模なプロジェクトでも大規模なエンタープライズアプリケーションでも、IronPDFは生産性を向上させると同時に、旧式化したりサポートされなくなったライブラリに関連するリスクを回避します。 商業アプリケーション向けに設計されたIronPDFは、プロジェクトが堅牢で効率的、かつ将来に対しても信頼できることを保証します。
実際の動的なウェブサイトを使用した直接テストで、IronPDFは最速かつ最も正確な結果を提供しました。 Syncfusion は遅く、多くのセクションを見逃しました。 Asposeは最初にHTMLをダウンロードする必要があり、それでも正しくレンダリングできませんでした。 wkhtmltopdfは、スタイルを取り込むことなく静的なHTMLコンテンツを提供していましたが、これは現代のサイトには不適合です。
これは、IronPDF が現代の HTML から PDF へのワークフローにおいて、速度、正確さ、使いやすさのバランスが最も優れていることを確認します。
HTML から PDF へのチュートリアル動画を見る
PDFドキュメントでは、以下のリンクを訪れて学ぶことができますPDFをダウンロードせずにChromeで開く.チュートリアル クイック アクセス
このチュートリアルをC#のソースコードとしてダウンロード
このチュートリアルのための完全無料のHTMLからPDFへのC#ソースコードは、ジップされたVisual Studioプロジェクトファイルとしてダウンロードできます。
ダウンロードこのチュートリアルをGitHubで探索する
このプロジェクトのソースコードはGitHubでC#およびVB.NETで利用可能です。
このコードを使用すると、わずか数分で簡単に始められます。このプロジェクトはMicrosoft Visual Studio 2017プロジェクトとして保存されていますが、どの.NET IDEとも互換性があります。
C# HTMLからPDFへ VB.NET HTMLをPDFに変換C# PDF クイックスタートガイドをダウンロード
.NETアプリケーションでのPDF開発を容易にするために、クイックスタートガイドをPDFドキュメントとしてまとめました。この「チートシート」には、C#およびVB.NETでPDFを生成および編集するための一般的な機能と例への迅速なアクセスが提供されており、.NETプロジェクトでIronPDFの使用を始める際に時間を節約できるかもしれません。
ダウンロードAPIリファレンスを表示
IronPDFのAPIリファレンスを探索して、IronPDFのすべての機能、名前空間、クラス、メソッド、フィールド、およびenumの詳細を確認してください。
APIリファレンスを表示