如何设置自定义边距

Jordi related to 如何设置自定义边距
乔尔迪·巴尔迪亚
2023年十月3日
更新 2025年二月5日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

在处理PDF或其他任何文档类型时,常常需要指定页边距,以符合不同的标准。 例如,MLA和APA格式都要求1英寸的页边距,而一些大学可能要求论文的页边距为1.5英寸。

IronPDF使从HTML渲染PDF时设置自定义边距变得简单——只需一些简单的配置。

开始使用IronPDF

立即在您的项目中开始使用IronPDF,并享受免费试用。

第一步:
green arrow pointer



设置自定义边距示例

要设置自定义边距,首先实例化ChromePdfRenderer类。 使用ChromePdfRenderer,您可以访问RenderingOptions对象,从中可以设置顶部、底部、左侧和右侧的特定边距(以毫米为单位),如下所示:

:path=/static-assets/pdf/content-code-examples/how-to/custom-margins-set-margins.cs
ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 40;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 40;
Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.MarginTop = 40
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
renderer.RenderingOptions.MarginBottom = 40
$vbLabelText   $csharpLabel

请注意,这会添加到HTML的样式部分中设置的边距。 例如,在下面的示例中,html 中的边距最初设置为 50 mm,但在 RenderingOptions 中为每一边设置边距会在原有基础上增加 30 mm,使其变为 80 mm:

:path=/static-assets/pdf/content-code-examples/how-to/custom-margins-set-margins-with-css.cs
const string htmlWithStyle = @"
<!DOCTYPE html>
<html>
    <head>
        <style>
            body {margin: 50mm 50mm 50mm 50mm;}
        </style>
    </head>
<body>
    <h1>Hello World!</h1>
</body>
</html>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 30;
renderer.RenderingOptions.MarginLeft = 30;
renderer.RenderingOptions.MarginRight = 30;
renderer.RenderingOptions.MarginBottom = 30;

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlWithStyle);
pdf.SaveAs("PdfWithCustomMargins.pdf");
Const htmlWithStyle As String = "
<!DOCTYPE html>
<html>
    <head>
        <style>
            body {margin: 50mm 50mm 50mm 50mm;}
        </style>
    </head>
<body>
    <h1>Hello World!</h1>
</body>
</html>"

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.MarginTop = 30
renderer.RenderingOptions.MarginLeft = 30
renderer.RenderingOptions.MarginRight = 30
renderer.RenderingOptions.MarginBottom = 30

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlWithStyle)
pdf.SaveAs("PdfWithCustomMargins.pdf")
$vbLabelText   $csharpLabel

生成的 PDF 文件如下所示:

在页眉/页脚中设置自定义边距

默认情况下,RenderingOptions 中设置的边距不适用于文档中的页眉和页脚。 要在页眉和页脚中设置相同的自定义文档边距,请在RenderingOptions中配置UseMarginsOnHeaderAndFooter属性:

:path=/static-assets/pdf/content-code-examples/how-to/custom-margins-use-margins-header-footer.cs
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.All;
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.All
$vbLabelText   $csharpLabel

可以指定在页眉和页脚中设置哪些边距。 有关在页眉和页脚中设置边距的枚举的完整列表,请查看我们的综合API参考。 下面显示了设置哪些边距的一些示例:

:path=/static-assets/pdf/content-code-examples/how-to/custom-margins-use-specific-margins-header-footer.cs
// Use only the left margin from the document.
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.Left;

// Use only the left and right margins from the document.
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.LeftAndRight;
' Use only the left margin from the document.
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.Left

' Use only the left and right margins from the document.
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.LeftAndRight
$vbLabelText   $csharpLabel
Jordi related to 在页眉/页脚中设置自定义边距
乔尔迪·巴尔迪亚
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 运用技能时,他会进行游戏编程。作为产品测试、产品开发和研究的负责人之一,Jordi 为持续的产品改进增添了极大的价值。多样化的经验让他充满挑战和参与感,他说这是他在 Iron Software 工作中最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。