如何使用 C# 在 IronPDF 中使用渲染选项
IronPDF中的渲染选项通过ChromePdfRenderer类自定义PDF生成,控制设置如边距、页眉、页脚、纸张大小、JavaScript执行和CSS媒体类型,以从HTML、CSS和其他内容源创建精确格式化的PDF文档。
快速入门:在 C# 中应用渲染选项
- 通过 NuGet 包管理器安装 IronPDF
- 创建一个
ChromePdfRenderer实例 - 通过
RenderingOptions属性配置渲染选项 - 将您的内容(HTML、Markdown 等)渲染为 PDF 5.保存生成的 PDF 文档
-
使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPdf
-
复制并运行这段代码。
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"); -
部署到您的生产环境中进行测试
通过免费试用立即在您的项目中开始使用IronPDF
PDF 生成中的渲染选项是决定如何创建、显示和打印 PDF 文档的设置。 这些选项包括渲染表单元素、启用 JavaScript、生成目录、添加页眉和页脚、调整页边距、设置纸张大小等。
IronPDF中的ChromePdfRenderer类提供各种渲染选项以自定义PDF生成。 它包含PaperFit,一个控制PDF页面内容布局的管理器,提供响应式CSS3布局或连续供稿等不同样式。 在处理复杂文档时,您可能需要在应用渲染选项后合并或拆分 PDF。
最小工作流程(5 个步骤)
- 下载 C# 库以使用渲染选项。
- 准备转换为 PDF 的 HTML 资产或文件
- 实例化 ChromePdfRenderer 类
- 访问 RenderingOptions 属性以配置设置
- 以所需格式渲染 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")
高级渲染选项示例
本综合示例演示了如何结合多种渲染选项生成专业文档。 当您需要添加页眉和页脚或使用自定义纸张尺寸时,这种方法会有所帮助:
: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")
有哪些可用的渲染选项?
高级选项可定义 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")
下表说明了可用的不同选项。
| 类别 | ChromePdfRenderer | |
|---|---|---|
| 说明 | 用于定义 PDF 打印输出选项,如纸张大小、DPI、页眉和页脚 | |
| 属性/功能 | 翻译类型 | 说明 |
CustomCookies |
Dictionary<string, string> |
用于 HTML 渲染的自定义 Cookie。Cookie 不会在两次渲染之间持续存在,每次都必须设置。 |
PaperFit |
VirtualPaperLayoutManager |
用于设置虚拟纸张布局的管理器,可控制 PDF "纸张 "页面的内容布局。包括 Chrome 浏览器默认行为、缩放、响应式 CSS3 布局、缩放至页面和连续进纸式 PDF 页面设置选项。 |
UseMarginsOnHeaderAndFooter |
使用边距 |
在呈现页眉和页脚时,使用主文档中的页边距值。 |
CreatePdfFormsFromHtml |
布尔 |
将所有 HTML 表单元素转化为可编辑的 PDF 表单。默认值为 true。 |
CssMediaType |
PdfCssMediaType |
启用 Media="screen" CSS 样式和样式表。默认值为 PdfCssMediaType.Screen。 |
CustomCssUrl |
字符串 |
允许在渲染前将自定义 CSS 样式表应用于 HTML。可以是本地文件路径或远程 URL。仅适用于将 HTML 呈现为 PDF 时。 |
EnableJavaScript |
布尔 |
使 JavaScript 和 JSON 能够在页面呈现之前执行。非常适合从 Ajax / Angular 应用程序中打印。默认值为 false。 |
EnableMathematicalLaTex |
布尔 |
实现数学 LaTeX 元素的渲染。 |
JavaScript |
字符串 |
在加载所有 HTML 之后、PDF 呈现之前执行自定义 JavaScript 字符串。 |
JavaScriptMessageListener |
字符串代理 |
浏览器 JavaScript 控制台消息可用时调用的方法回调。 |
首页编号 |
int |
在 PDF 页眉和页脚中使用的第一个页码。默认值为 1。 |
目录 |
TableOfContentsTypes |
在 HTML 文档中找到 ID 为 "IronPDF-toc" 的元素的位置生成目录。 |
GrayScale |
布尔 |
输出黑白 PDF。默认值为假。 |
文本头 |
ITextHeaderFooter |
将每个 PDF 页面的页脚内容设置为文本,支持 "邮件合并 "并自动将 URL 转变为超链接。 |
文本脚注 |
||
Html 标头 |
HtmlHeaderFooter |
将每个 PDF 页面的页眉内容设置为 HTML。支持 "邮件合并"。 |
HtmlFooter |
||
输入编码 |
编码 |
输入字符编码字符串。默认值为 Encoding.UTF8。 |
页边距 |
double |
PDF 顶部 "纸张 "页边距,单位为毫米。对于无边框和商业印刷应用,设置为零。默认值为 25。 |
MarginRight |
double |
PDF 右 "纸 "边距,单位为毫米。对于无边框和商业印刷应用,设置为零。默认值为 25。 |
边距下限 |
double |
PDF 底部 "纸张 "页边距,单位为毫米。对于无边框和商业印刷应用,设置为零。默认值为 25。 |
边距左移 |
double |
PDF 左 "纸 "边距,单位为毫米。对于无边框和商业印刷应用,设置为零。默认值为 25。 |
文件方向 |
PdfPaperOrientation |
PDF 纸张方向,如纵向或横向。默认值为纵向。 |
纸张大小 |
PdfPaperSize |
设置纸张大小 |
SetCustomPaperSizeinCentimeters |
double |
以厘米为单位设置纸张大小。 |
SetCustomPaperSizeInInches |
以英寸为单位设置纸张大小。 | |
SetCustomPaperSizeinMilimeters |
以毫米为单位设置纸张大小。 | |
以像素或点为单位设置自定义纸张大小 |
以屏幕像素或打印机点为单位设置纸张大小。 | |
PrintHtmlBackgrounds |
布尔 |
表示是否从 HTML 打印背景颜色和图像。默认值为 true。 |
RequestContext |
请求上下文 |
请求为该译文提供上下文,确定某些资源(如 cookie)的隔离。 |
超时 |
整数 |
渲染超时(秒)。默认值为 60。 |
标题 |
字符串 |
PDF 文档名称和标题元数据在 IronPDF MVC 和 Razor 扩展中有助于邮件合并和自动文件命名。 |
ForcePaperSize |
布尔 |
在从 HTML 生成 PDF 后,通过调整页面大小,强制页面大小与通过 IronPdf.ChromePdfRenderOptions.PaperSize 指定的完全一致。在将 HTML 渲染为 PDF 时,帮助纠正页面大小的微小错误。 |
WaitFor |
WaitFor |
一个封装对象,用于保存等待机制的配置,以便用户在呈现之前等待特定事件。默认情况下,它不会等待任何事件。 |
准备好探索更多功能了吗? 请访问我们的教程页面:Convert PDFs
常见问题解答
生成 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 媒体类型、页眉和超时值。
能否对非 HTML 内容使用渲染选项?
是的,虽然许多渲染选项属性是为 HTML 到 PDF 的转换而设计的,但它们也适用于 IronPDF 中的其他 PDF 转换类型。在将 Markdown 转换为 PDF 或其他支持的格式时,您可以应用渲染选项,这样无论源内容类型如何,您都可以对最终的 PDF 输出进行同等程度的控制。
什么是 PaperFit,它是如何工作的?
PaperFit 是 IronPDF 的 ChromePdfRenderer 类中的一个管理器,用于控制 PDF 页面的内容布局。它提供了不同的渲染样式,包括响应式 CSS3 布局或连续进纸选项,有助于确保您的内容根据具体要求在 PDF 页面上正确显示。
为什么要为 PDF 配置渲染选项?
在 IronPDF 中配置渲染选项可确保您生成的 PDF 完全符合专业文档所需的规格。这包括自定义纸张尺寸、特定页边、页眉和页脚,或启用 JavaScript 以生成动态内容。在创建报告、发票或任何需要精确格式的文档时,这种控制水平至关重要。

