如何使用 IronPDF 在 PDF 中新增頁首和頁尾

How to Add Headers and Footers

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

需要在 PDF 文件的每頁頂部或底部包括頁碼、公司徽標或日期嗎? 有了頁眉和頁腳,您可以做到! 使用 IronPDF,您可以在 C# 項目中非常簡單地將頁眉和頁腳應用於 PDF。

快速入門:在 C# 中將頁眉和頁腳添加到 PDF

使用 IronPDF 在 C# 中毫不費力地將頁眉和頁腳添加到您的 PDF 文檔中。 這份快速指南向您展示如何在幾秒鐘內應用帶有頁碼和自定義文本的文本型頁眉和頁腳。 使用 AddTextHeadersAddTextFooters 方法迅速增強 PDF 的展示效果。 用最少的代碼保存更新的 PDF,確保您的文檔具有專業完成的效果。 非常適合尋找快速高效的方法來管理 IronPDF 頁眉和頁腳的開發人員。

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 = { TextHeader = new IronPdf.TextHeaderFooter { CenterText = "Report • {date}" }, TextFooter = new IronPdf.TextHeaderFooter { RightText = "Page {page} of {total‑pages}" } } }
        .RenderHtmlAsPdf("<h1>Hello World!</h1>")
        .SaveAs("withHeadersFooters.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小化工作流程 (5 個步驟)

  1. 下載 C# 庫以添加頁眉和頁腳
  2. 加載現有 PDF 或渲染新的 PDF
  3. 使用 AddTextHeadersAddTextFooters 方法添加文本頁眉和頁腳
  4. 使用 AddHtmlHeadersAddHtmlFooters 方法添加 HTML 頁眉和頁腳
  5. 通過配置渲染選項在渲染時添加頁眉和頁腳

添加文本頁眉/頁腳示例

要僅使用文本創建頁眉/頁腳,實例化一個 TextHeaderFooter 對象,添加所需的文本,然後將對象添加到您的 PDF 中。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-add-textheaderfooter.cs
using IronPdf;

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "This is the header!",
};

// Create text footer
TextHeaderFooter textFooter = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

// Add text header and footer to the PDF
pdf.AddTextHeaders(textHeader);
pdf.AddTextFooters(textFooter);

pdf.SaveAs("addTextHeaderFooter.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

或者,您可以直接使用渲染器的渲染選項添加頁眉/頁腳。 這將在渲染過程中添加文本頁眉和頁腳。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-render-with-textheaderfooter.cs
using IronPdf;

// Instantiate renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Create header and add to rendering options
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "This is the header!",
};


// Create footer and add to rendering options
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

// Render PDF with header and footer
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
pdf.SaveAs("renderWithTextHeaderFooter.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

自定義文本和分隔線屬性

TextHeaderFooter 類中,您可以設置左、中、右位置的文本。 此外,您還可以通過配置相關屬性自定義文本的字體類型和大小,並添加具有自定義顏色的分隔線。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-textheaderfooter-options.cs
using IronPdf;
using IronPdf.Font;
using IronSoftware.Drawing;

// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "Center text", // Set the text in the center
    LeftText = "Left text", // Set left-hand side text
    RightText = "Right text", // Set right-hand side text
    Font = IronSoftware.Drawing.FontTypes.ArialBoldItalic, // Set font
    FontSize = 16, // Set font size
    DrawDividerLine = true, // Draw Divider Line
    DrawDividerLineColor = Color.Red, // Set color of divider line
};
Imports IronPdf
Imports IronPdf.Font
Imports IronSoftware.Drawing

' Create text header
Private textHeader As New TextHeaderFooter With {
	.CenterText = "Center text",
	.LeftText = "Left text",
	.RightText = "Right text",
	.Font = IronSoftware.Drawing.FontTypes.ArialBoldItalic,
	.FontSize = 16,
	.DrawDividerLine = True,
	.DrawDividerLineColor = Color.Red
}
$vbLabelText   $csharpLabel

輸出文本頁眉

class="content-img-align-center">
class="center-image-wrapper"> 文本頁眉

You can see what font types are available by default in the IronPDF API Reference.

設置文本頁眉/頁腳的邊距

默認情況下,IronPDF 的文本頁眉和頁腳具有預定義的邊距。 如果您希望文本頁眉跨越整個 PDF 文檔的寬度,可以指定邊距值為 0。這可以通過直接在 AddTextHeadersAddTextFooters 函數中設置邊距或通過 ChromePdfRendererRenderingOptions 來實現。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-textheaderfooter-margins.cs
using IronPdf;

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

TextHeaderFooter header = new TextHeaderFooter
{
    CenterText = "This is the header!",
};

TextHeaderFooter footer = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

pdf.AddTextHeaders(header, 35, 30, 25); // Left Margin = 35, Right Margin  = 30, Top Margin = 25
pdf.AddTextFooters(footer, 35, 30, 25); // Margin values are in mm
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

如果在 ChromePdfRendererRenderingOptions 中添加邊距值,這些邊距也將應用於頁眉和頁腳。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-rendering-options-margins.cs
using IronPdf;

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();

TextHeaderFooter header = new TextHeaderFooter
{
    CenterText = "This is the header!",
};

TextHeaderFooter footer = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

// Margin values are in mm
renderer.RenderingOptions.MarginRight = 30;
renderer.RenderingOptions.MarginLeft = 30;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;

// Add header and footer to renderer
renderer.RenderingOptions.TextHeader = header;
renderer.RenderingOptions.TextFooter = footer;

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
Imports IronPdf

' Instantiate renderer and create PDF
Private renderer As New ChromePdfRenderer()

Private header As New TextHeaderFooter With {.CenterText = "This is the header!"}

Private footer As New TextHeaderFooter With {.CenterText = "This is the footer!"}

' Margin values are in mm
renderer.RenderingOptions.MarginRight = 30
renderer.RenderingOptions.MarginLeft = 30
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25

' Add header and footer to renderer
renderer.RenderingOptions.TextHeader = header
renderer.RenderingOptions.TextFooter = footer

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
$vbLabelText   $csharpLabel

RenderingOptions 中的 UseMarginsOnHeaderAndFooter 屬性不適合此使用情況。 它將相同的邊距值應用於頁眉、頁腳和主內容,這可能導致頁眉與文檔主體重疊。 此屬性主要用於使用 AddTextHeadersAndFooters 方法將頁眉和頁腳應用於現有的 PDF。

動態邊距調整

當頁眉內容在不同文檔之間變化時,靜態邊距會產生問題。 不僅需要對頁眉和頁腳邊距進行調整,還需要對主 HTML 邊距進行調整以適應不同的頁眉和頁腳大小。 因此,我們實施了動態邊距調整功能,頁眉和頁腳的高度將根據內容動態調整,主 HTML 將相應重新定位。 請使用下面的代碼查看此功能:

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-dynamic-marigns.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = @"<div style='background-color: #4285f4; color: white; padding: 15px; text-align: center;'>
                    <h1>Example header</h1> <br>
                    <p>Header content</p>
                    </div>",
    // Enable the dynamic height feature
    MaxHeight = HtmlHeaderFooter.FragmentHeight,
};

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>");
pdf.SaveAs("dynamicHeaderSize.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
	.HtmlFragment = "<div style='background-color: #4285f4; color: white; padding: 15px; text-align: center;'>
                    <h1>Example header</h1> <br>
                    <p>Header content</p>
                    </div>",
	.MaxHeight = HtmlHeaderFooter.FragmentHeight
}

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>")
pdf.SaveAs("dynamicHeaderSize.pdf")
$vbLabelText   $csharpLabel

將元數據添加到文本頁眉/頁腳

您可以輕鬆通過在文本中添加佔位符字符串來添加頁碼、日期和 PDF 標題等元數據。 以下是所有可用的元數據選項:

  • {page}: 當前頁碼。
  • {total-pages}: 總頁數。
  • {url}:渲染 PDF 文档的网络 URL。
  • {date}: 當前日期。
  • {time}: 當前時間。
  • {html-title}: 在 HTML 中 title 標籤中指定的 HTML 標題。
  • {pdf-title}: 在 PDF 元數據中指定的 PDF 標題。

想了解更多關於 {page}{total-pages} 的信息,請訪問 IronPDF 頁碼指南 操作指南。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-mail-merge.cs
using IronPdf;

// Create header and footer
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "{page} of {total-pages}",
    LeftText = "Today's date: {date}",
    RightText = "The time: {time}",
};

TextHeaderFooter textFooter = new TextHeaderFooter
{
    CenterText = "Current URL: {url}",
    LeftText = "Title of the HTML: {html-title}",
    RightText = "Title of the PDF: {pdf-title}",
};
Imports IronPdf

' Create header and footer
Private textHeader As New TextHeaderFooter With {
	.CenterText = "{page} of {total-pages}",
	.LeftText = "Today's date: {date}",
	.RightText = "The time: {time}"
}

Private textFooter As New TextHeaderFooter With {
	.CenterText = "Current URL: {url}",
	.LeftText = "Title of the HTML: {html-title}",
	.RightText = "Title of the PDF: {pdf-title}"
}
$vbLabelText   $csharpLabel

添加 HTML 頁眉/頁腳示例

您可以通過利用 HTML 和 CSS 進一步自定義頁眉/頁腳。 要創建 HTML 頁眉/頁腳,請使用 HtmlHeaderFooter 類。 如果您希望保留 CSS 樣式表中的樣式,請確保在類屬性中設置 LoadStylesAndCSSFromMainHtmlDocument = true

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-htmlheaderfooter.cs
using IronPdf;

string headerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a header!</h1>
    </body>
    </html>";

string footerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a footer!</h1>
    </body>
    </html>";

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

// Create header and footer
HtmlHeaderFooter htmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = headerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = footerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

// Add to PDF
pdf.AddHtmlHeaders(htmlHeader);
pdf.AddHtmlFooters(htmlFooter);
Imports IronPdf

Private headerHtml As String = "
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a header!</h1>
    </body>
    </html>"

Private footerHtml As String = "
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a footer!</h1>
    </body>
    </html>"

' Instantiate renderer and create PDF
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")

' Create header and footer
Private htmlHeader As New HtmlHeaderFooter With {
	.HtmlFragment = headerHtml,
	.LoadStylesAndCSSFromMainHtmlDocument = True
}

Private htmlFooter As New HtmlHeaderFooter With {
	.HtmlFragment = footerHtml,
	.LoadStylesAndCSSFromMainHtmlDocument = True
}

' Add to PDF
pdf.AddHtmlHeaders(htmlHeader)
pdf.AddHtmlFooters(htmlFooter)
$vbLabelText   $csharpLabel

與文本頁眉和頁腳類似,上面顯示的 AddHtmlHeadersAddHtmlFooters 方法也具有預定義的邊距。 要應用自定義邊距,請使用帶有指定邊距值的函數重載。 要在不設置邊距的情況下涵蓋整個內容,請在重載函數中將邊距設置為 0。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-htmlheaderfooter-margins.cs
// Add to PDF
pdf.AddHtmlHeaders(header, 0, 0, 0);
pdf.AddHtmlFooters(footer, 0, 0, 0);
' Add to PDF
pdf.AddHtmlHeaders(header, 0, 0, 0)
pdf.AddHtmlFooters(footer, 0, 0, 0)
$vbLabelText   $csharpLabel

通過渲染器的渲染選項也可以直接添加頁眉和頁腳。 這將在渲染過程中添加 HTML 頁眉和頁腳。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-render-with-htmlheaderfooter.cs
using IronPdf;

string headerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a header!</h1>
    </body>
    </html>";

string footerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a footer!</h1>
    </body>
    </html>";

// Instantiate renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Create header and footer and add to rendering options
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = headerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = footerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

// Render PDF with header and footer
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
Imports IronPdf

Private headerHtml As String = "
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a header!</h1>
    </body>
    </html>"

Private footerHtml As String = "
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a footer!</h1>
    </body>
    </html>"

' Instantiate renderer
Private renderer As New ChromePdfRenderer()

' Create header and footer and add to rendering options
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
	.HtmlFragment = headerHtml,
	.LoadStylesAndCSSFromMainHtmlDocument = True
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
	.HtmlFragment = footerHtml,
	.LoadStylesAndCSSFromMainHtmlDocument = True
}

' Render PDF with header and footer
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
$vbLabelText   $csharpLabel

選擇文本與 HTML 頁眉/頁腳

在選擇文本和 HTML 頁眉/頁腳時,需要考慮權衡。 如果您優先考慮更快的 PDF 渲染,選擇文本頁眉/頁腳。 另一方面,如果可定制性和樣式是必要的,選擇 HTML 頁眉/頁腳。 當 HTML 頁眉/頁腳內容不多時,文本和 HTML 頁眉/頁腳在渲染時間上的差異不大。 然而,隨著 HTML 頁眉/頁腳中的資產大小和數量增加,渲染時間會增加。

準備看看您還能做哪些其他事情嗎? 查看我們的教程頁面:創建PDF

常見問題解答

如何在 C# 專案中為 PDF 文件新增頁首和頁尾?

若要在 C# 專案中為 PDF 文件新增頁首和頁尾,可以使用 IronPDF。首先,下載 IronPDF 庫,然後載入或建立一個 PDF 檔案。您可以使用AddTextHeadersAddTextFooters等方法新增基於文字的頁首/頁腳,或使用AddHtmlHeadersAddHtmlFooters等方法新增基於 HTML 的頁首/頁尾。

C# 中有哪些方法可以新增文字和 HTML 的頁首或頁尾?

在 IronPDF 中,您可以使用AddTextHeadersAddTextFooters添加文字標題和頁腳,而AddHtmlHeadersAddHtmlFooters則用於新增 HTML 標題和頁尾。

如何使用 C# 自訂 PDF 中的頁首和頁尾?

在 IronPDF 中,您可以使用TextHeaderFooter類別調整文字屬性(例如字型類型、大小和對齊方式)來自訂頁首和頁尾。對於 HTML 頁首和頁尾,您可以利用 HTML 和 CSS 樣式來增強設計效果。

如何確保 PDF 文件中的頁首和頁尾不會與主要內容重疊?

透過在 IronPDF 中設定適當的邊距,確保頁首和頁尾不會與正文內容重疊。您可以使用ChromePdfRenderer中的RenderingOptions來指定邊距值,或啟用動態邊距調整功能,該功能會根據內容自動調整邊距。

在PDF文件中使用HTML頁首和頁尾有什麼優勢?

與文字頁首和頁尾相比,IronPDF 中的 HTML 頁首和頁尾提供了更高的自訂性和樣式靈活性。它們允許使用 HTML 和 CSS,從而實現複雜且美觀的設計。

我可以在 PDF 的頁首和頁尾中添加動態內容,例如頁碼和日期嗎?

是的,您可以使用 IronPDF 在 PDF 的頁首和頁尾中新增動態內容,例如頁碼和日期。在頁首/頁尾文字中使用佔位符字串,例如{page}{total-pages}{date}{pdf-title}

如何在 PDF 專案中選擇使用文字或 HTML 格式的頁首/頁尾?

在 IronPDF 中選擇文字格式的頁首/頁尾可以加快渲染速度。如果需要更多自訂和樣式選項,請選擇 HTML 格式的頁首/頁尾。請考慮內容的複雜性和大小,因為這些因素會影響渲染效能。

是否可以在 PDF 中為 HTML 頁首和頁尾套用自訂邊距?

是的,IronPDF 支援為 HTML 頁首和頁尾設定自訂邊距。使用AddHtmlHeadersAddHtmlFooters的重載函數可以指定邊距值並控制頁首/頁尾的寬度。

IronPDF 是否完全相容於 .NET 10,以便在建立 PDF 時使用頁首和頁尾?

是的。 IronPDF 完全相容於 .NET 10,您可以像在早期 .NET 版本中一樣使用相同的頁首和頁尾方法,例如AddTextHeadersAddTextFootersAddHtmlHeadersAddHtmlFooters 。在 .NET 10 專案(包含桌面、Web 或容器化環境)中使用 IronPDF 時,無需任何額外配置。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。
準備好開始了嗎?
Nuget 下載 16,154,058 | 版本: 2025.11 剛剛發布