如何在PDF中设置自定义边距C#

How to Set Custom Margins

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

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

快速入门:使用IronPDF实现自定义PDF边距)

IronPDF使得在从HTML渲染PDF时设置自定义边距变得容易——只需进行一些简单的配置即可。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { MarginTop = 10, MarginBottom = 10, MarginLeft = 10, MarginRight = 10, UseMarginsOnHeaderAndFooter = true } }
        .RenderHtmlAsPdf("<h1>Hello with margins!</h1>")
        .SaveAs("custom‑margins.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer

as-heading:3(基本工作流程(5个步骤):

  1. NuGet下载用于边距配置的IronPDF C#库
  2. 实例化ChromePdfRenderer类以渲染PDF文件
  3. 修改Chrome渲染器的RenderingOptions中的边距值进行自定义
  4. 针对页眉和页脚具体调整边距
  5. 将HTML渲染为PDF并保存文档

设置自定义边距示例

要设置自定义边距,首先实例化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的style部分中已设置的边距中。 例如,在下面的示例中,HTML中初始设置的边距为50毫米,但在RenderingOptions中为每一侧设置边距会增加30毫米,使它们成为80毫米:

: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

常见问题解答

如何使用C#在PDF文档中设置自定义边距?

您可以使用C#中的IronPDF库在PDF文档中设置自定义边距。实例化ChromePdfRenderer类,并使用RenderingOptions指定上、下、左、右四边的边距(毫米)。

在IronPDF中设置自定义边距需要哪些步骤?

要在IronPDF中设置自定义边距,首先从NuGet下载IronPDF库,实例化ChromePdfRenderer,修改RenderingOptions中的边距值,然后渲染和保存PDF。

我可以在PDF的页眉和页脚上应用不同的边距吗?

可以,您可以通过在IronPDF的RenderingOptions中设置UseMarginsOnHeaderAndFooter属性来对页眉和页脚应用不同的边距。

CSS边距如何影响IronPDF中设置的边距?

HTML中指定的CSS边距会加到IronPDF的RenderingOptions中设置的边距上。例如,HTML中边距为50毫米,再加上IronPDF增加的30毫米,总边距将为80毫米。

有没有视频可以学习如何设置边距?

是的,YouTube上有一个视频教程提供了使用IronPDF设置自定义边距的指导。

在IronPDF中可以使用毫米以外的单位指定边距吗?

不,IronPDF主要使用毫米来指定边距。API不直接支持其他单位。

IronPDF中页眉和页脚的默认边距行为是什么?

默认情况下,IronPDF的RenderingOptions中指定的边距不适用于页眉和页脚。要应用相同的边距,请启用UseMarginsOnHeaderAndFooter

在哪里可以找到IronPDF中设置自定义边距的其他示例?

有关在IronPDF中设置自定义边距的其他示例,请参考文章中提供的全面API参考和代码示例。

IronPDF 在设置自定义边距时是否完全兼容 .NET 10?

是的,IronPDF 完全支持 .NET 10,包括所有渲染选项,例如自定义边距、页眉/页脚边距设置以及 HTML/CSS 边距集成。您可以在 .NET 10 项目中直接使用相同的代码模式,无需修改。

Jordi Bardia
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。
准备开始了吗?
Nuget 下载 16,154,058 | 版本: 2025.11 刚刚发布