如何在IronPDF中使用渲染選項與C

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. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  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");
  3. 部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronPDF,透過免費試用

    arrow pointer

PDF生成中的渲染選項是決定如何建立、顯示和列印PDF文件的設置。 這些選項包括渲染表單元素、啟用JavaScript、生成目錄、新增頁首和頁尾、調整邊距、設定紙張大小等。

IronPDF中的ChromePdfRenderer類別提供了各種渲染選項來自訂PDF生成。 它包括PaperFit,一個用來控制PDF頁面內容佈局的管理器,提供不同的樣式,如響應式CSS3佈局或連續供應。 處理複雜文件時,可能需要在應用渲染選項後合併或分割PDF。


如何在IronPDF中使用渲染選項?

雖然許多渲染選項屬性專為HTML到PDF轉換設計,但它們也適用於其他PDF轉換型別。 讓我們將Markdown渲染為PDF,並使用渲染選項配置輸出。 特別是對於HTML轉換,了解如何將HTML文件轉換為PDF或將HTML字串轉換為PDF。

為什麼要配置渲染選項?

配置渲染選項可確保PDF按精確規範生成:自訂紙張大小、特定邊距、頁首和頁尾,或啟用JavaScript以獲取動態內容。 在建立專業文件或報告的新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

進階渲染選項範例

這個綜合性例子演示了結合多個渲染選項以生成專業文件。 此方法對需要新增頁首和頁尾或處理自訂紙張大小時很有幫助。

:path=/static-assets/pdf/content-code-examples/how-to/rendering-options-3.cs
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");
Imports IronPdf
Imports IronPdf.Rendering

' Create renderer with advanced options
Dim renderer As 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 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

Icon Quote related to 進階渲染選項範例

我最喜歡的程式庫是IronPDF。它允許快速高效地操作PDF文件。它還有許多有價值的功能,例如導出到PDF/A格式和數位簽署PDF文件。

Milan Jovanovic related to 進階渲染選項範例

Milan Jovanovic

Microsoft MVP

查看案例研究
Icon Quote related to 進階渲染選項範例

IronOCR意味著我們每年可以從手動處理中節省$40,000,同時提高生產力,釋放資源以進行高影響的任務。我會強烈推薦它。

Brent Matzelle related to 進階渲染選項範例

Brent Matzelle

首席技術官,OPYN

查看案例研究
Icon Quote related to 進階渲染選項範例

IronSuite在我們的運營中扮演著至關重要的角色。這些工具增加了包括建立平面圖和改善庫存管理在內的業務效率。

David Jones related to 進階渲染選項範例

David Jones

首席軟體工程師,Agorus Build

查看案例研究

所有可用的渲染選項有哪些?

進階選項定義了PDF渲染設置,如邊距、紙張方向、紙張大小等。 了解這些選項有助於您需要設置自訂邊距或使用不同視圖設定和縮放等級時。

哪些渲染選項是最常用的?

最常用的渲染選項包括邊距設置、紙張大小配置、頁首/頁尾設置和JavaScript啟用。 這些選項涵蓋了大多數PDF客製化需求。 對於網頁內容,JavaScript渲染選項可確保正確渲染動態元素。

我如何選擇正確的渲染選項?

根據您的需求選擇渲染選項:對於列印配置使用邊距設置,為了動態網頁內容啟用JavaScript,為專業文件配置頁首/頁尾,調整紙張大小以適應特定輸出格式。 處理網頁內容時,考慮CSS媒體型別以獲得最佳渲染效果。

什麼時候應該使用進階渲染選項?

對於專業功能,如自訂CSS注入、LaTeX數學渲染、灰階輸出,或處理需要特定JavaScript執行時序的複雜網頁應用程式,使用進階渲染選項。 WaitFor類別提供了精確控制複雜場景中的渲染延遲。

處理表單元素

當HTML包含表單元素時,IronPDF會自動將它們轉換為互動式PDF格式:

:path=/static-assets/pdf/content-code-examples/how-to/rendering-options-4.cs
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
描述 用於定義PDF列印選項,如紙張大小、DPI、頁首和頁尾
屬性 / 函式 型別 描述
CustomCookies Dictionary 用於HTML渲染的自訂cookie。Cookies不會在渲染之間持續存在,每次都必須設置。
PaperFit VirtualPaperLayoutManager 一種設置虛擬紙張佈局的管理器,控制內容如何在PDF"紙張"頁面上佈局。包括預設Chrome行為、縮放、響應式CSS3佈局、按比例縮放至頁面和連續供應樣式的PDF頁面設置。
UseMarginsOnHeaderAndFooter UseMargins 在渲染頁首和頁尾時,使用主文件的邊距值。
CreatePdfFormsFromHtml bool 將所有HTML表單元素轉換為可編輯的PDF表單。預設值為true。
CssMediaType PdfCssMediaType 啟用Media="screen"樣式和樣式表。預設值為PdfCssMediaType.Screen。
CustomCssUrl string 允許在渲染HTML之前應用自訂CSS樣式表。可以是本地文件路徑或遠程URL。僅在渲染HTML為PDF時適用。
EnableJavaScript bool 在頁面渲染之前啟用JavaScript和JSON執行。非常適合從Ajax / Angular應用程式列印。預設值為false。
EnableMathematicalLaTex bool 啟用數學LaTeX元素的渲染。
JavaScript string 在所有HTML載入完成但渲染PDF之前執行的自訂JavaScript字串。
JavaScriptMessageListener StringDelegate 每當有可用的瀏覽器JavaScript控制台消息時要調用的方法回調。
FirstPageNumber int 用於PDF頁首和頁尾的起始頁碼。預設值為1。
TableOfContents TableOfContentsTypes 在HTML文件中找到ID為"IronPDF-toc"的元素時生成目錄。
GrayScale bool 輸出黑白PDF。預設值為false。
TextHeader ITextHeaderFooter 為每個PDF頁面設置文字頁尾,支持'名單合併',並自動將URL轉換為超連結。
TextFooter
HtmlHeader HtmlHeaderFooter 為每個PDF頁面設置HTML頁首。支持'名單合併'。
HtmlFooter
InputEncoding Encoding 作為字串的輸入字元編碼。預設值為Encoding.UTF8。
MarginTop double 上方PDF"紙張"邊距,單位為毫米。設為零用於無邊和商業印刷應用。預設值為25。
MarginRight double 右側PDF"紙張"邊距,單位為毫米。設為零用於無邊和商業印刷應用。預設值為25。
MarginBottom double 底部PDF"紙張"邊距,單位為毫米。設為零用於無邊和商業印刷應用。預設值為25。
MarginLeft double 左側PDF"紙張"邊距,單位為毫米。設為零用於無邊和商業印刷應用。預設值為25。
PaperOrientation PdfPaperOrientation PDF紙張方向,如縱向或橫向。預設值為縱向。
PaperSize PdfPaperSize 設置紙張大小
SetCustomPaperSizeinCentimeters double 設置紙張大小,單位為厘米。
SetCustomPaperSizeInInches 設置紙張大小,單位為英寸。
SetCustomPaperSizeinMilimeters 設置紙張大小,單位為毫米。
SetCustomPaperSizeinPixelsOrPoints 設置紙張大小,單位為螢幕像素或列印點。
PrintHtmlBackgrounds Boolean 是否列印來自HTML的背景顏色和圖像。預設值為true。
RequestContext RequestContexts 此渲染的請求上下文,決定某些資源如cookies的隔離。
Timeout Integer 渲染超時,單位為秒。預設值為60。
Title String PDF文件名稱和標題元資料,對於名單合併和IronPDF MVC及Razor擴展的自動命名文件有用。
ForcePaperSize Boolean 通過在從HTML生成PDF後調整頁面大小,強制頁面大小正符合IronPdf.ChromePdfRenderOptions.PaperSize所指定的內容。幫助修正HTML到PDF渲染時頁面尺寸的小誤差。
WaitFor WaitFor 一個封裝物件,保存等待機制的配置,使用者可以在呈現之前等待某些事件。預設情況下,將不等待任何事件。

準備探索更多功能了嗎? 拜訪我們的教學頁面:轉換PDF

常見問題

PDF 生成中的渲染選項是什麼?

IronPDF 中的渲染選項是控制 PDF 文件如何建立、顯示和列印的設置,通過 ChromePdfRenderer 類。這些選項包括邊距、頁眉、頁腳、紙張尺寸、JavaScript 執行、CSS 媒體型別、表單元素和目錄的配置,允許精確定制 PDF 輸出,從 HTML、CSS 和其他內容來源生成。

如何將渲染選項應用於 PDF?

要在 IronPDF 中應用渲染選項:1)通過 NuGet 安裝 IronPDF,2)建立 ChromePdfRenderer 實例,3)通過 RenderingOptions 屬性配置設置,4)將您的內容(HTML、Markdown 等)渲染為 PDF,5)儲存生成的 PDF。您可以在一行中設置多個選項,如邊距、CSS 媒體型別、頁眉和超時值。

我可以將渲染選項應用於非 HTML 內容嗎?

是的,雖然許多渲染選項屬性是為 HTML 到 PDF 轉換設計的,但它們也適用於 IronPDF 的其他 PDF 轉換型別。您可以在將 Markdown 轉換為 PDF 或其他支持的格式時應用渲染選項,無論源內容型別為何,您都能對最終的 PDF 輸出進行相同的控制。

什麼是 PaperFit?它如何工作?

PaperFit 是 IronPDF 的 ChromePdfRenderer 類中的一個管理器,控制 PDF 頁面上的內容佈局。它提供不同樣式的渲染,包括響應式 CSS3 佈局或連續供稿選項,幫助確保您的內容根據具體要求正確適合在 PDF 頁面上。

為什麼我應該配置我的 PDF 的渲染選項?

在 IronPDF 中配置渲染選項可確保您的 PDF 按專業文件所需的確切規格生成。這包括自定義紙張尺寸、特定邊距、頁眉和頁腳,或為動態內容啟用 JavaScript。在建立報告、發票或任何需要精確格式的文件時,這種級別的控制至關重要。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 19,936,792 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。