C#によるIronPDFのレンダリングオプションの使い方

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

IronPDFのレンダリングオプションは、ChromePdfRendererクラスを通じてPDF生成をカスタマイズし、余白、ヘッダー、フッター、用紙サイズ、JavaScriptの実行、CSSメディアタイプなどの設定を制御することで、HTML、CSS、その他のコンテンツソースから正確にフォーマットされたPDFドキュメントを作成します。

クイックスタート: C# でレンダリング オプションを適用する

  1. NuGetパッケージマネージャ経由でIronPDFをインストールする
  2. ChromePdfRenderer インスタンスを作成する
  3. RenderingOptions プロパティを使用してレンダリングオプションを設定します
  4. コンテンツ(HTML、Markdownなど)をPDFにレンダリングする 5.完成したPDFドキュメントを保存する
  1. IronPDF をNuGetパッケージマネージャでインストール

    PM > Install-Package IronPdf
  2. このコード スニペットをコピーして実行します。

    new IronPdf.ChromePdfRenderer { RenderingOptions = { PrintHtmlBackgrounds = true, MarginTop = 0, MarginBottom = 0, CssMediaタイプ = IronPdf.Rendering.PdfCssMediaタイプ.Print, HtmlHeader = new IronPdf.HtmlHeaderFooter { HtmlFragment = "<div>My Header</div>" }, Language = "en-US", Timeout = 120000 } }
        .RenderHtmlStringAsPdf("<h1>Hello Options</h1>")
        .SaveAs("renderingOptions.pdf");
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル

    arrow pointer

PDF生成におけるレンダリングオプションとは、PDF文書の作成、表示、印刷方法を決定する設定です。 これらのオプションには、フォーム要素のレンダリング、JavaScriptの有効化、目次の生成、ヘッダーとフッターの追加、余白の調整、用紙サイズの設定などが含まれます。

IronPDFのChromePdfRendererクラスは、PDF生成をカスタマイズするためのさまざまなレンダリングオプションを提供します。 これには、PDFページ上のコンテンツレイアウトを制御するマネージャーであるPaperFitが含まれており、レスポンシブなCSS3レイアウトや連続フィードなど、さまざまなスタイルを提供します。 複雑な文書を扱う場合、レンダリングオプションを適用した後、PDFを結合または分割する必要があるかもしれません。


IronPDFでレンダリングオプションを使うには?

多くのレンダリングオプションプロパティはHTMLからPDFへの変換用に設計されていますが、他のPDF変換タイプでも機能します。 MarkdownをPDFにレンダリングし、レンダリング・オプションを使って出力を設定しましょう。 特にHTMLの変換については、HTMLファイルをPDFに変換する、またはHTML文字列をPDFに変換するについて学んでください。

なぜレンダリング オプションを設定する必要があるのですか?

レンダリングオプションを設定することで、カスタム用紙サイズ、特定の余白、ヘッダーとフッター、動的コンテンツ用の有効なJavaScriptなど、正確な仕様でPDFが生成されるようにします。 このコントロールは、Professionalな文書やレポート用に新しいPDFを作成する際に非常に重要です。

複数のレンダリング オプションを適用するとどうなりますか?

複数のレンダリングオプションを組み合わせて、最終的なPDF出力を作成します。 各オプションは特定のレンダリングアスペクトを変更し、IronPDFは変換中にそれらを順次適用します。 例えば、余白とヘッダーの両方を設定する場合、UseMarginsOnHeaderAndFooter プロパティを使用して上書きされない限り、ヘッダーの内容は余白の設定に従います。

:path=/static-assets/pdf/content-code-examples/how-to/rendering-options-render.cs
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")
$vbLabelText   $csharpLabel

高度なレンダリング オプションの例

この包括的な例では、複数のレンダリングオプションを組み合わせて、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.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");
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.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");
Imports IronPdf
Imports IronPdf.Rendering

' Create renderer with advanced options
Dim 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.RenderDelay = 2000 ' Wait 2 seconds for JS to execute

' Add professional header with page numbers
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .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 With {
    .Height = 20,
    .HtmlFragment = "<div style='text-align: center; font-size: 10px;'>
                     Generated on {date} at {time}
                     </div>"
}

' Render HTML content
Dim htmlContent As String = "
<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>"

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("professional-document.pdf")
$vbLabelText   $csharpLabel

利用可能なレンダリング オプションには何がありますか?

高度なオプションは、余白、用紙の向き、用紙サイズなどの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");
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")
$vbLabelText   $csharpLabel

以下は、利用可能なさまざまなオプションを示す表です。

クラス ChromePdfRenderer
翻訳内容 用紙サイズ、DPI、ヘッダー、フッターなどのPDF印刷オプションを定義するために使用します。
プロパティ/機能 タイプ 翻訳内容
CustomCookies Dictionary HTMLレンダリング用のカスタムクッキー。クッキーはレンダリング間で持続しないため、毎回設定する必要があります。
PaperFit VirtualPaperLayoutManager バーチャルペーパーレイアウトを設定するためのマネージャで、PDFの"ペーパー"ページでコンテンツがどのようにレイアウトされるかを制御します。Chromeのデフォルト動作、ズーム、レスポンシブCSS3レイアウト、Scale-To-Page、Continuous FeedスタイルのPDFページ設定のオプションを含みます。
UseMarginsOnHeaderAndFooterを使用してください。 UseMargins ヘッダーとフッターをレンダリングするときは、メインドキュメントのマージン値を使用してください。
CreatePdfFormsFromHtml(英語 ブール すべての HTML フォーム要素を編集可能な PDF フォームにします。デフォルト値はtrueです。
CssMediaタイプ PdfCssMediaタイプ Media="screen" CSSスタイルとスタイルシートを有効にします。デフォルト値は PdfCssMediaタイプ.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です。
目次 TableOfContentsタイプs 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などが含まれます。このレベルのコントロールはレポート、請求書、または正確なフォーマットを必要とするドキュメントを作成する際に非常に重要です。

カーティス・チャウ
テクニカルライター

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

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 19,014,616 | バージョン: 2026.5 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。