C#によるIronPDFのレンダリングオプションの使い方
IronPDFにおけるレンダリングオプションは、ChromePdfRendererクラスを通じてPDF生成をカスタマイズし、余白、ヘッダー、フッター、用紙サイズ、JavaScript実行、CSSメディアタイプなどの設定を制御します。これにより、HTML、CSS、その他のコンテンツソースから正確にフォーマットされたPDFドキュメントを作成します。
- NuGetパッケージマネージャ経由でIronPDFをインストールする
ChromePdfRendererインスタンスを作成するRenderingOptionsプロパティを通じてレンダリングオプションを構成する- コンテンツ(HTML、Markdownなど)をPDFにレンダリングする 5.完成したPDFドキュメントを保存する
-
1Install IronPDF with NuGet Package Manager
-
2このコード スニペットをコピーして実行します。
new IronPdf.ChromePdfRenderer { RenderingOptions = { PrintHtmlBackgrounds = true, MarginTop = 0, MarginBottom = 0, CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print, HtmlHeader = new IronPdf.HtmlHeaderFooter { HtmlFragment = "<div>My Header</div>" }, Language = "en-US", Timeout = 120000 } } .RenderHtmlStringAsPdf("<h1>Hello Options</h1>") .SaveAs("renderingOptions.pdf");C# -
3実際の環境でテストするためにデプロイする
今日プロジェクトで IronPDF を使い始めましょう無料トライアル
PDF生成におけるレンダリングオプションとは、PDF文書の作成、表示、印刷方法を決定する設定です。 これらのオプションには、フォーム要素のレンダリング、JavaScriptの有効化、目次の生成、ヘッダーとフッターの追加、余白の調整、用紙サイズの設定などが含まれます。
IronPDFのChromePdfRendererクラスは、PDF生成をカスタマイズするためのさまざまなレンダリングオプションを提供します。 それには、PDFページのコンテンツレイアウトを制御するマネージャー、PaperFitが含まれ、レスポンシブCSS3レイアウトや連続フィードなどの異なるスタイルを提供します。 複雑な文書を扱う場合、レンダリングオプションを適用した後、PDFを結合または分割する必要があるかもしれません。
最小限のワークフロー(5ステップ)
- レンダリング オプションを使用する C# ライブラリをダウンロードする。
- HTMLアセットまたはPDF変換用ファイルの準備
- ChromePdfRendererクラスをインスタンス化します。
- RenderingOptionsプロパティにアクセスして設定を構成する
- 望む形式で PDF をレンダリング
IronPDFでレンダリングオプションを使うには?
多くのレンダリングオプションプロパティはHTMLからPDFへの変換用に設計されていますが、他のPDF変換タイプでも機能します。 MarkdownをPDFにレンダリングし、レンダリング・オプションを使って出力を設定しましょう。 特にHTMLの変換については、HTMLファイルをPDFに変換する、またはHTML文字列をPDFに変換するについて学んでください。
なぜレンダリング オプションを設定する必要があるのですか?
レンダリングオプションを設定することで、カスタム用紙サイズ、特定の余白、ヘッダーとフッター、動的コンテンツ用の有効なJavaScriptなど、正確な仕様でPDFが生成されるようにします。 このコントロールは、Professionalな文書やレポート用に新しいPDFを作成する際に非常に重要です。
複数のレンダリング オプションを適用するとどうなりますか?
複数のレンダリングオプションを組み合わせて、最終的なPDF出力を作成します。 各オプションは特定のレンダリングアスペクトを変更し、IronPDFは変換中にそれらを順次適用します。 例えば、余白とヘッダーの両方を設定する際、UseMarginsOnHeaderAndFooter プロパティを使用して上書きしない限り、ヘッダーコンテンツは余白設定を尊重します。
using IronPdf;
// Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
// to render HTML/CSS as a PDF document.
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Configure rendering options
// Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
// HTML fragment to add a header at the top of every page in the PDF.
HtmlFragment = "<h1>Header Content</h1>"
};
// Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150);
// Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0;
// Define a Markdown string that will be rendered as a PDF.
// Markdown text allows basic formatting like bold and italic styles.
string md = "This is some **bold** and *italic* text.";
// Render the Markdown string to a PDF document.
// The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
PdfDocument pdf = renderer.RenderMarkdownStringAsPdf(md);
// Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf");Imports IronPdf
' Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
' to render HTML/CSS as a PDF document.
Private renderer As New ChromePdfRenderer()
' Configure rendering options
' Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = True
' Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {.HtmlFragment = "<h1>Header Content</h1>"}
' Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150)
' Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0
' Define a Markdown string that will be rendered as a PDF.
' Markdown text allows basic formatting like bold and italic styles.
Dim md As String = "This is some **bold** and *italic* text."
' Render the Markdown string to a PDF document.
' The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
Dim pdf As PdfDocument = renderer.RenderMarkdownStringAsPdf(md)
' Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf")高度なレンダリング オプションの例
この包括的な例では、複数のレンダリングオプションを組み合わせて、Professionalなドキュメントを生成する方法を示します。 このアプローチは、ヘッダーとフッターを追加する必要がある場合や、カスタム用紙サイズで作業する場合に役立ちます:
using IronPdf;
using IronPdf.Rendering;
// Create renderer with advanced options
var renderer = new ChromePdfRenderer();
// Configure paper and layout settings
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Set margins for professional layout
renderer.RenderingOptions.MarginTop = 40; // mm
renderer.RenderingOptions.MarginBottom = 40; // mm
renderer.RenderingOptions.MarginLeft = 20; // mm
renderer.RenderingOptions.MarginRight = 20; // mm
// Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds for JS to execute
// Add professional header with page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
Height = 25,
HtmlFragment = @"<div style='text-align: center; padding: 10px;'>
<span>Document Title</span> - Page {page} of {total-pages}
</div>",
DrawDividerLine = true
};
// Add footer with timestamp
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
Height = 20,
HtmlFragment = @"<div style='text-align: center; font-size: 10px;'>
Generated on {date} at {time}
</div>"
};
// Render HTML content
string htmlContent = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; }
.content { padding: 20px; }
</style>
</head>
<body>
<div class='content'>
<h1>Professional Document</h1>
<p>This document demonstrates advanced rendering options.</p>
</div>
</body>
</html>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("professional-document.pdf");
利用可能なレンダリング オプションには何がありますか?
高度なオプションは、余白、用紙の向き、用紙サイズなどのPDFレンダリング設定を定義します。 これらのオプションを理解することは、カスタムマージンを設定したり、異なるビューポート設定やズームレベルで作業する必要がある場合に役立ちます。
どのレンダリング オプションが最も一般的に使用されていますか?
最もよく使用されるレンダリングオプションには、マージン設定、用紙サイズ設定、ヘッダー/フッター設定、JavaScriptの有効化などがあります。 これらのオプションは、ほとんどのPDFカスタマイズのニーズに対応しています。 ウェブベースのコンテンツでは、JavaScriptのレンダリングオプションにより、動的要素が正しくレンダリングされるようにします。
正しいレンダリング オプションを選択するにはどうすればよいですか?
印刷レイアウトには余白設定を使用し、動的なWebコンテンツにはJavaScriptを有効にし、プロフェッショナル文書にはヘッダー/フッターを設定し、特定の出力形式には用紙サイズを調整するなど、要件に応じてレンダリングオプションを選択します。 ウェブコンテンツを扱う際には、最適なレンダリングのためにCSSのメディアタイプを考慮してください。
高度なレンダリング オプションはいつ使用すべきですか?
カスタムCSSインジェクション、LaTeX数学レンダリング、グレースケール出力などの特殊な機能や、特定 for JavaScript実行タイミングを必要とする複雑なWebアプリケーションを扱う場合は、高度なレンダリングオプションを使用してください。 WaitForクラスは、複雑なシナリオにおけるレンダリング遅延に対して正確な制御を提供します。
フォーム要素を扱う
HTMLにフォーム要素が含まれている場合、IronPDFはそれらを自動的にインタラクティブなPDFフォームに変換します:
using IronPdf;
var renderer = new ChromePdfRenderer();
// Enable PDF form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
// HTML with form elements
string formHtml = @"
<html>
<body>
<form>
<label>Name: <input type='text' name='name' /></label><br>
<label>Email: <input type='email' name='email' /></label><br>
<label>Subscribe: <input type='checkbox' name='subscribe' /></label><br>
<button type='submit'>Submit</button>
</form>
</body>
</html>";
PdfDocument pdfWithForms = renderer.RenderHtmlAsPdf(formHtml);
pdfWithForms.SaveAs("interactive-form.pdf");Imports IronPdf
Dim renderer = New ChromePdfRenderer()
' Enable PDF form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
' HTML with form elements
Dim formHtml As String = "
<html>
<body>
<form>
<label>Name: <input type='text' name='name' /></label><br>
<label>Email: <input type='email' name='email' /></label><br>
<label>Subscribe: <input type='checkbox' name='subscribe' /></label><br>
<button type='submit'>Submit</button>
</form>
</body>
</html>"
Dim pdfWithForms As PdfDocument = renderer.RenderHtmlAsPdf(formHtml)
pdfWithForms.SaveAs("interactive-form.pdf")以下は、利用可能なさまざまなオプションを示す表です。
| クラス | ChromePdfRenderer | |
|---|---|---|
| 翻訳内容 | 用紙サイズ、DPI、ヘッダー、フッターなどのPDF印刷オプションを定義するために使用します。 | |
| プロパティ/機能 | タイプ | 翻訳内容 |
CustomCookies | Dictionary<string, string> | HTMLレンダリング用のカスタムクッキー。クッキーはレンダリング間で持続しないため、毎回設定する必要があります。 |
PaperFit | VirtualPaperLayoutManager。 | バーチャルペーパーレイアウトを設定するためのマネージャで、PDFの"ペーパー"ページでコンテンツがどのようにレイアウトされるかを制御します。Chromeのデフォルト動作、ズーム、レスポンシブCSS3レイアウト、Scale-To-Page、Continuous FeedスタイルのPDFページ設定のオプションを含みます。 |
UseMarginsOnHeaderAndFooterを使用してください。 | UseMargins | ヘッダーとフッターをレンダリングするときは、メインドキュメントのマージン値を使用してください。 |
CreatePdfFormsFromHtml(英語 | ブール | すべての HTML フォーム要素を編集可能な PDF フォームにします。デフォルト値はtrueです。 |
CssMediaType | PdfCssMediaType | Media="screen" CSSスタイルとスタイルシートを有効にします。デフォルト値は PdfCssMediaType.Screen です。 |
CustomCssUrl | 文字列 | カスタムCSSスタイルシートをレンダリング前にHTMLに適用できるようにします。ローカルファイルパスまたはリモートURLを指定できます。HTMLをPDFにレンダリングするときにのみ適用されます。 |
EnableJavaScript | ブール | ページがレンダリングされる前にJavaScriptとJSONを実行できるようにします。Ajax/Angularアプリケーションからの印刷に最適です。デフォルト値はfalseです。 |
EnableMathematicalLaTexを使用してください。 | ブール | Mathematical LaTeX Elementsのレンダリングを可能にします。 |
JavaScript | 文字列 | すべてのHTMLが読み込まれた後、PDFレンダリングの前に実行されるカスタムJavaScript文字列。 |
JavaScriptMessageListener | StringDelegate | ブラウザJavaScriptのコンソールメッセージが利用可能になるたびに呼び出されるメソッドコールバック。 |
FirstPageNumber | int | PDF のヘッダーとフッターで使われる最初のページ番号。デフォルト値は1です。 |
目次 | TableOfContentsTypes | HTML文書の"IronPDF-toc"IDを持つ要素が見つかる場所に目次を生成します。 |
GrayScale | ブール | 白黒PDFを出力します。デフォルト値はfalseです。 |
テキストヘッダー | ITextHeaderFooter | すべてのPDFページのフッターコンテンツをテキストとして設定し、"メールマージ"をサポートし、URLを自動的にハイパーリンクに変換します。 |
テキストフッター | ||
HtmlHeader | HtmlHeaderFooter | すべてのPDFページのヘッダーコンテンツをHTMLとして設定します。メールマージ"をサポートします。 |
HtmlFooter | ||
InputEncoding | エンコーディング | 文字列としての入力文字エンコーディング。デフォルト値はEncoding.UTF8です。 |
マージントップ | ダブル | PDFの"用紙"上部の余白をミリメートルで指定します。枠なし印刷や商業印刷アプリケーションではゼロに設定します。デフォルト値は25です。 |
マージンライト | ダブル | 右PDFの"紙"の余白をミリメートル単位で指定します。枠なし印刷や商業印刷の用途ではゼロに設定します。デフォルト値は25です。 |
マージンボトム | ダブル | PDFの"用紙"下部の余白をミリメートルで指定します。枠なし印刷や商業印刷のアプリケーションではゼロに設定します。デフォルト値は25です。 |
マージンレフト | ダブル | PDF の左側の"紙"の余白をミリメートル単位で指定します。枠なし印刷や商業印刷の用途ではゼロに設定します。デフォルト値は25です。 |
ペーパーオリエンテーション | PdfPaperOrientation | PDF の用紙の向き(Portrait や Landscape など)。デフォルト値はPortraitです。 |
用紙サイズ | PdfPaperSize | 用紙サイズの設定 |
SetCustomPaperSizeinCentimeters | ダブル | 用紙サイズをセンチメートル単位で設定します。 |
SetCustomPaperSizeInInches | 用紙サイズをインチで設定します。 | |
SetCustomPaperSizeinMilimeters | 用紙サイズをミリメートル単位で設定します。 | |
SetCustomPaperSizeinPixelsOrPoints | 用紙サイズを画面ピクセルまたはプリンタポイントで設定します。 | |
PrintHtmlBackgrounds | Boolean | 背景色と画像をHTMLから出力するかどうかを指定します。デフォルト値はtrueです。 |
RequestContext(リクエストコンテキスト | RequestContexts(リクエストコンテキスト | クッキーのような特定のリソースの分離を決定し、このレンダリングのコンテキストを要求します。 |
タイムアウト | Integer | レンダリングタイムアウトを秒単位で指定します。デフォルト値は60です。 |
タイトル | 文字列 | IronPDF MVCおよびRazor拡張におけるメールマージおよび自動ファイル命名に役立つPDFドキュメント名およびタイトルメタデータ。 |
ForcePaperSize | Boolean | HTMLからPDFを生成した後にページのサイズを変更することで、IronPdf.ChromePdfRenderOptions.PaperSizeで指定されたとおりのページサイズを強制します。HTMLからPDFをレンダリングする際に、ページサイズの小さなエラーを修正します。 |
WaitFor | WaitFor | ユーザーがレンダリング前に特定のイベントを待つためのwait-forメカニズムの設定を保持するラッパー・オブジェクトです。デフォルトでは、何も待ちません。 |
より多くの機能を調べる準備はできていますか? チュートリアルページをご覧ください:PDFを変換するをご覧ください。
よくある質問
PDF生成におけるレンダリングオプションとは何ですか?
IronPDFのレンダリングオプションは、ChromePdfRendererクラスを通してPDFドキュメントの作成、表示、印刷を制御する設定です。余白、ヘッダー、フッター、用紙サイズ、JavaScriptの実行、CSSメディアタイプ、フォーム要素、目次などの設定が含まれ、HTML、CSS、その他のコンテンツソースからのPDF出力を正確にカスタマイズすることができます。
PDFにレンダリングオプションを適用する方法を教えてください。
IronPDFのレンダリングオプションを適用するには:1) NuGet経由でIronPDFをインストールし、2) ChromePdfRendererインスタンスを作成し、3) RenderingOptionsプロパティで設定を構成し、4) コンテンツ(HTML、Markdownなど)をPDFにレンダリングし、5) 結果のPDFを保存します。マージン、CSSメディアタイプ、ヘッダー、タイムアウト値など、複数のオプションを1行で設定できます。
HTML以外のコンテンツでレンダリングオプションを使用できますか?
多くのレンダリングオプションプロパティはHTMLからPDFへの変換用に設計されていますが、IronPDFの他のPDF変換タイプでも機能します。レンダリングオプションはMarkdownをPDFやその他のサポートされているフォーマットに変換する際に適用することができ、ソースのコンテンツタイプに関係なく、最終的なPDF出力を同じレベルでコントロールすることができます。
PaperFitとは何ですか?
PaperFitはIronPDFのChromePdfRendererクラスのマネージャーで、PDFページのコンテンツレイアウトを制御します。レスポンシブCSS3レイアウトや連続フィードオプションなど、さまざまなレンダリングスタイルを提供し、特定の要件に応じてPDFページ上にコンテンツが適切に収まるようにします。
なぜPDFのレンダリングオプションを設定する必要があるのですか?
IronPDFでレンダリングオプションを設定することで、プロフェッショナルなドキュメントに必要な正確な仕様でPDFを生成することができます。これにはカスタム用紙サイズ、特定の余白、ヘッダーとフッター、ダイナミックコンテンツのための有効なJavaScriptなどが含まれます。このレベルのコントロールはレポート、請求書、または正確なフォーマットを必要とするドキュメントを作成する際に非常に重要です。
What is the function of the `PaperFit` option in IronPDF?
`PaperFit` in IronPDF’s `ChromePdfRenderer` controls content layout styles on PDF pages, providing options like responsive CSS3 layouts and continuous feed style setups.
How can IronPDF assist with rendering interactive PDF forms?
IronPDF automatically converts HTML form elements into interactive PDF forms when the `CreatePdfFormsFromHtml` property is set to true.
What is the significance of enabling `PrintHtmlBackgrounds` in IronPDF?
Enabling `PrintHtmlBackgrounds` ensures that all background colors and images defined in HTML are printed in the PDF, maintaining the visual integrity of the document.
Can IronPDF merge or split PDFs after applying rendering options?
Yes, IronPDF supports merging and splitting of PDF documents, which can be useful when combining or breaking down complex documents after rendering.
How does IronPDF handle dynamic web content rendering?
IronPDF handles dynamic web content by enabling JavaScript execution and allowing delays for JavaScript execution using the `WaitFor` class to ensure all interactive elements are fully rendered.

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。