C# HTMLからPDF変換

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF の開発者として、IronPDF によって生成された PDF ドキュメントが完璧に見えるだけでなく、お客様の期待通りに見えることが必要であると理解しています。 このC# PDFチュートリアルでは、C#アプリケーション、プロジェクト、およびウェブサイトにHTMLからPDFへのコンバータを構築する方法を紹介します。 C#のHTMLからPDFへのコンバーターを構築します。 IronPDFから出力されるPDFドキュメントは、Google ChromeウェブブラウザのPDF機能とピクセル単位で同一です。

IronPDF C# ライブラリを使用して、以下の操作を行います:

  • C#アプリケーション内で、HTML文字列またはHTMLファイルを「コンテンツ」としてPDFドキュメントを作成します。
  • C#で編集およびPDF生成機能を適用する

  • URLを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)の先進的なクロームレンダラーにより、PDFドキュメントのデザインやレイアウトのほとんど、あるいはすべてが既存のHTML資産を利用することができます。

このHTML5を使用した.NETでの動的PDF生成方法は、コンソールアプリケーション、Windowsフォームアプリケーション、WPF、さらにはウェブサイトやMVCでも同様に機能します。

IronPDFは、ピクセルパーフェクトPDFのためのChromeによるHTMLのデバッグもサポートしています。 これを設定するためのチュートリアルは、こちらにあります これ.

VB.NET:HTML を PDF に変換

IronPDFは、開発者がC#、F#、VB.NETで簡単にPDFドキュメントを作成できるC#ライブラリです。.NET Coreおよび.NET Frameworkに対応しています。 これにより、私たち.NETコーダーは専用ファイル形式や新しいAPIを学ぶ必要がなくなります。プログラムやWebアプリケーションから動的なPDFファイルを簡単に出力できます。

IronPDFをVB.NETで使用する方法について学ぶには、こちらをご覧ください ガイド.

IronPDFのF#での使用方法について学ぶには、こちらをご覧ください ガイド.

IronPDFの機能:

  • HTML、URL、JavaScript、CSSおよび多くの画像形式からPDFを生成

    • ヘッダー/フッター、署名、添付ファイル、パスワードとセキュリティの追加

    • パフォーマンスの最適化:フルマルチスレッディングと非同期サポート

ステップ 1

HTML to PDF C#ライブラリをダウンロードしてインストール

PDF 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronPdf
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

PDF 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronPdf
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

今日からプロジェクトでIronPDFを使い始めましょう。無料のトライアルをお試しください。

最初のステップ:
green arrow pointer

チェックアウト IronPDF オン Nuget 迅速なインストールと展開のために。8百万以上のダウンロード数により、PDFをC#で変革しています。

PDF 用 C# NuGet ライブラリ nuget.org/packages/IronPdf/
Install-Package IronPdf

インストールを検討してください IronPDF DLL 直接。ダウンロードして、プロジェクトまたはGACの形式で手動でインストールしてください。 IronPdf.zip

プロジェクトに手動でインストールする

DLLをダウンロード

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.RenderHtmlAsPdf HTMLを変換する方法 (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")
VB   C#

RenderHtmlAsPdf は、HTML5、CSS3、JavaScript、および画像を完全にサポートします。 これらのアセットがハードディスク上にある場合は、RenderHtmlAsPdf の第2パラメーターをアセットが置かれているディレクトリに設定することをお勧めします。

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\")
VB   C#

参照されるすべての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")
VB   C#

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
VB   C#

メインページ: 画面と印刷の完全な比較(画像付き)は、以下にあります これ.

ジャバスクリプト

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
VB   C#

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")
VB   C#

レスポンシブ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
VB   C#

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")
VB   C#

このメソッドには、開発中に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")
VB   C#

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>"}
VB   C#

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
VB   C#

ページに余白を増やして大きなヘッダーやフッターのスペースを確保したり、パンフレットやポスターの商業印刷のために余白をゼロに設定したりするために、印刷の余白サイズを変更したい場合もあります。

: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
VB   C#

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
VB   C#

また、出力される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
VB   C#

HTMLの完全なドキュメント C# PDF クリエイター 設定は以下にあります https://ironpdf.com/object-reference/api/IronPdf.ChromePdfRenderer.html

PDF印刷オプションの完全セットには以下が含まれます:

  • CreatePdfFormsFromHtml: すべてのHTMLフォーム要素を編集可能なPDFフォームに変換します。
  • CssMediaTypeScreen または Print の CSS スタイルおよびスタイルシート。 私たちのをご覧ください 詳細なチュートリアルと比較画像付き.
  • CustomCssUrl: レンダリングの前にHTMLにカスタムCSSスタイルシートを適用することができます。 ローカルファイルのパス、またはリモートURLである可能性があります。
  • EnableMathematicalLaTex:数式LaTeX要素のレンダリングを有効または無効にします。
  • EnableJavaScript: ページがレンダリングされる前にJavaScriptとJSONを実行できるようにします。 Ajax / Angular アプリケーションからの印刷に最適です。 また、以下もご覧ください レンダーディレイ.
  • Javascript: すべてのHTMLが読み込まれた後、PDFレンダリングの前に実行されるカスタムJavaScript文字列を指定します。
  • JavascriptMessageListener: ブラウザのJavaScriptコンソールメッセージが利用可能になったときに呼び出されるメソッドコールバック。
  • FirstPageNumber: PDFのヘッダーとフッターで使用する最初のページ番号。

    • 本コンテンツは技術用語なども含まれているため、適切に訳出しました。

TableOfContents: 要素が "ironpdf-toc" というIDを持つ場所に、HTMLドキュメント内の目次を生成します。

  • TextHeader: すべてのPDFページのヘッダーコンテンツを文字列として設定します。 『メールマージ』をサポート
  • TextFooter: 各PDFページのフッターコンテンツを文字列として設定します。 『メールマージ』をサポート
  • HtmlHeader: 各PDFページのヘッダー内容をHTMLとして設定します
  • HtmlFooter: 各PDFページのフッターコンテンツをHTMLとして設定します
  • MarginBottom: ミリメートル単位の紙の余白。 ボーダーレスおよび商用印刷アプリケーションにはゼロに設定します。
  • MarginLeft: 用紙の余白をミリメートルで指定
  • MarginRight: 用紙の余白(ミリメートル単位)
  • MarginTop: 用紙の余白(単位: ミリメートル)。 ボーダーレスおよび商用印刷アプリケーションにはゼロに設定します。
  • UseMarginsOnHeaderAndFooter: ヘッダーとフッターをレンダリングする際にメインドキュメントの余白値を使用するかどうかを指定します。
  • PaperFit:PDFの「紙」ページにコンテンツをレイアウトする方法を制御し、仮想用紙レイアウトを設定するためのマネージャー。 デフォルトのChrome動作、ズーム、レスポンシブCSS3レイアウト、ページに合わせたスケール、および連続フィードスタイルのPDFページ設定のオプションを含みます。
  • PaperOrientation: 新しいドキュメントの用紙の向き。 詳細な説明および添付のコード例.
  • ページ回転: 既存のドキュメントからのページ回転。 詳細な説明および添付のコード例.
  • PaperSize: PDFページの出力用紙サイズを設定します。 System.Drawing.Printing.PaperKind(用紙の種類)。
  • SetCustomPaperSizeinCentimeters: 紙のサイズをセンチメートル単位で設定します。
  • SetCustomPaperSizeInInches: 紙のサイズをインチで設定します。
  • SetCustomPaperSizeinMilimeters: ミリメートル単位で用紙サイズを設定します。
  • SetCustomPaperSizeinPixelsOrPoints: 画面ピクセルまたはプリンターポイントで用紙サイズを設定します。
  • ForcePaperSize: HTMLからPDFを生成した後に、ページをリサイズしてPaperSizeで指定されたページサイズに正確に合わせるかどうかを指定します。
  • PrintHtmlBackgrounds:HTMLから背景色と画像を印刷します。
  • GrayScale: 白黒のPDFを出力するかどうかを指定します。
  • タイムアウト: レンダリングのタイムアウトを秒単位で設定します。
  • WaitFor: 待機メカニズムの設定を保持するラッパーオブジェクト。 これは、JavaScript、Ajax、またはアニメーションのレンダリングを考慮する際に有用です。

    • PageLoad: 待たずにデフォルトのレンダー。

    • RenderDelay:任意の待機時間を設定する設定。

    • フォント: すべてのフォントが読み込まれるまで待機します。

    • JavaScript:JavaScript 関数でレンダリングをトリガーする。

    • HTML要素: 要素ID、名前、タグ名、クエリセレクタなどの特定のHTML要素を待機してターゲット要素にします。
  • ネットワークアイドル**: ネットワークアイドル待機中 (0、2、またはカスタム金額).
  • タイトル:PDFドキュメント名およびタイトルのメタデータ。 不要。
  • InputEncoding: 入力文字エンコーディングを指定します。
  • RequestContext: レンダリングのリクエストコンテキストを指定します。

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")
VB   C#

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
VB   C#

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>
'
VB   C#

この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")
VB   C#

次のリンクからHandlebars HTMLテンプレートの標準およびそのC#での使用方法について詳しく学ぶことができます:https://github.com/rexm/Handlebars.NET

HTML5を使用して改ページを追加する

PDFドキュメントの一般的な要件として、ページ番号の付加があります。 開発者は、クリーンで読みやすいレイアウトのためにPDFページの開始位置と終了位置を制御する必要があります。

これを実行する最も簡単な方法は、あまり知られていないCSSトリックを使用することで、これにより印刷されたHTMLドキュメントにページブレークが生成されます。

<div style='page-break-after: always;'>&nbsp;</div>
<div style='page-break-after: always;'>&nbsp;</div>
HTML

提供された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>
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")
VB   C#

完全なコード例はこちらにあります: 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")
VB   C#

完全なコード例はこちらにあります: PDF透かしコードの例


C# ソースコードをダウンロード

このチュートリアルのフル 無料HTMLからPDFへの変換C#ソースコード は、Visual Studio 2022のプロジェクトファイルとして圧縮された形でダウンロード可能です。レンダリングエンジンを使用して、C#でPDFドキュメントオブジェクトを生成します。

このチュートリアルをVisual Studioプロジェクトとしてダウンロードする

無料ダウンロードには、HTMLからPDFを作成するために必要なすべてのものが含まれています。これには、次のC# PDFコード例も含まれます。

  1. C#を使用してHTML文字列をPDFに変換する

  2. C#でHTMLファイルをPDFに変換 (CSS、JavaScript、および画像をサポート)

  3. URLを使用してC#でHTMLをPDFに変換 (「URLからPDFへ」)

  4. C# PDF編集と設定の例

  5. d3.jsなどのJavaScriptキャンバスチャートをPDFにレンダリングする

  6. C#用のPDFライブラリ

クラスリファレンス

開発者は IronPdf.PdfDocument クラスのリファレンスにも興味があるかもしれません。

https://ironpdf.com/object-reference/api/IronPdf.PdfDocument.html

このオブジェクトモデルは、PDFドキュメントが以下のように処理される方法を示しています:

  • 暗号化およびパスワード保護
  • 新しいHTMLコンテンツで編集または「スタンプ」されました。
  • 前景画像と背景画像で強化されています
  • ページまたはドキュメントレベルでマージ、結合、切り詰め、スプライスされる

  • OCRを処理してテキストと画像を抽出


Blazor HTML から PDF への変換

BlazorサーバーにHTMLからPDF機能を追加するのは簡単です。次の手順に従ってください:

  1. 新しいBlazorサーバープロジェクトを作成するか、既存のプロジェクトを使用してください。

  2. NuGetを使用してプロジェクトにIronPDFライブラリを追加します。

  3. 新しいRazorコンポーネントを追加するか、既存のものを使用する

  4. InputTextArea を追加して IronPDF にリンクします

  5. IronPDFにお任せしてデプロイしましょう

    画像とコード例を含む完全なステップバイステップガイドは、以下で見つけることができます これ.


他のPDFライブラリと比較する

PDFSharp

PDFSharpは、.NETでPDFドキュメントの論理的な編集および作成を可能にする、無料のオープンソースライブラリです。

PDFSharpとIronPDFの主な違いは、IronPDFには埋め込みのウェブブラウザーがあり、HTML、CSS、JS、および画像から忠実にPDFを作成できることです。

IronPDF APIは、PDFSharpとは異なり、PDF文書の技術的な構造ではなく、ユースケースに基づいています。 多くの人がこれをより論理的で直感的であると感じています。

HTMLをPDFに変換することができますが、HTMLからPDFへの変換は制限されています:.htmlファイルをPDFファイルに含めることです。

wkhtmltopdf

wkhtmltopdfは、HTMLからPDFドキュメントをレンダリングすることを可能にする、C++で書かれた無料のオープンソースライブラリです。

wkhtmltopdfとIronPDFの主な違いは、IronPDFがC#で記述されており、.NETアプリケーションやウェブサイトでの使用に安定しており、スレッドセーフであるという点です。

IronPDFはCSS3およびHTML5を完全にサポートしていますが、wkhtmltopdfはほぼ10年前のまま更新されていません。

IronPDF APIは、PDF文書の編集、操作、圧縮、インポート、エクスポート、署名、セキュリティ保護、およびウォーターマークを可能にする大規模で高度なAPIを提供する点で、wkhtmltopdfとは異なります。

HTML から PDF への変換は wkhtmltopdf で安定していますが、非常に古いレンダリングエンジンを使用しています。

iTextSharp

iTextSharpは、PDF生成および編集のためのiText Javaライブラリのオープンソース部分移植版です。 HTMLをPDFに変換することは可能ですが、そのレンダリングはJavaで利用可能なものに限定されているか、LGPLオープンソースライセンスのもとでwkhtmltopdfを使用してHTMLをPDFに変換しています。

HTMLからPDFへの変換におけるC#の重要な違い iTextSharp IronPDFは、iTextのwkhtmltopdfという旧式の技術ではなく、組み込みのChromeベースのウェブブラウザを使用することで、より高度で正確なHTML-To-PDFレンダリングを提供します。

IronPDF APIは、IronPDFが商業用または個人用の明確なライセンスを持っている点でiTextSharpと異なります。一方、iTextSharpのAGPLライセンスは、インターネット上のユーザーを含むすべてのユーザーに対して完全なソースコードが無償で提供されるアプリケーションにのみ適しています。

以下のページで、詳細な違いを確認できます: iTextSharp C# ドキュメントページ。

他の商業ライブラリ

Aspose PDF、Spire PDF、EO PDF、および SelectPdf は、他のベンダーによる競合 .NET 商用 PDF ライブラリです。 IronPDFは、比較的強力な機能セット、優れた互換性、よく書かれたドキュメント、および公正な価格設定を備えています。 IronPDF、競合他社、そしてChrome自体の比較をご覧いただけます これ.


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に変換

ダウンロード the C# PDF Quickstart guide

.NETアプリケーションでのPDF開発を容易にするために、クイックスタートガイドをPDFドキュメントとしてまとめました。この「チートシート」には、C#およびVB.NETでPDFを生成および編集するための一般的な機能と例への迅速なアクセスが提供されており、.NETプロジェクトでIronPDFの使用を始める際に時間を節約できるかもしれません。

ダウンロード

APIリファレンスを表示

IronPDFのAPIリファレンスを探索して、IronPDFのすべての機能、名前空間、クラス、メソッド、フィールド、およびenumの詳細を確認してください。

APIリファレンスを表示

申し訳ありませんが、翻訳するコンテンツのテキストを提供してください。その後、英語から日本語に翻訳いたします。!-- ## GitHubでこのチュートリアルを探索する {"icon":"fa-github"}

このHtml-To-Pdfプロジェクトのソースコードは、GitHubでC#とVB.NETで利用できます。

ソースコードを閲覧することで、IronPDFの機能を最大限に活用するための洞察を得ることができ、数分で簡単に始める方法も提供されます。

プロジェクトはMicrosoft Visual Studio 2017プロジェクトとして保存されますが、コードはあらゆる.NET IDEと互換性があります。

.NETソフトウェアエンジニア .NETからPDFファイルを生成する最も効率的な方法の一つです。追加のAPIを学習する必要もなく、また複雑な設計システムを操作する必要もありません。

ジーン・アッシュバーグ

.NETソフトウェアエンジニア

ジャンは、米国マサチューセッツ州に拠点を置く企業内情報ソリューションのための独立したソフトウェア開発者です。

ジーンはIronPDFの初期採用者であり、C#用の主要なPDF製品機能のユースケースをすべて網羅する単一の安定したライブラリを作成するための製品改善の仕様作成やロードマップの構築に繰り返し関与してきました。