使用 C# 和 IronPDF 在 PDF 中新增頁首和頁尾
IronPDF 讓您能夠使用 C# 中的AddTextHeaders和AddTextFooters等方法輕鬆地為 PDF 文件添加頁首和頁尾(用於簡單文字),或使用AddHtmlHeaders和AddHtmlFooters等方法添加基於 HTML 的內容,並完全支援 CSS 樣式。 這項強大的功能對於創建具有一致品牌標識、頁碼和文件元資料的專業 PDF 文件至關重要。
需要在 PDF 文件的每一頁頂部或底部添加頁碼、公司標誌或日期嗎? IronPDF 讓您在 C# 專案中輕鬆為 PDF 添加頁首和頁尾。 無論您是產生報告、發票或任何業務文檔,頁首和頁尾都提供了重要的導覽和識別元素,從而增強了文件的可用性。
快速入門:使用 C# 為 PDF 新增頁首和頁尾
使用 IronPDF(C#)輕鬆地為 PDF 文件添加頁首和頁尾。 本指南示範如何在幾秒鐘內應用帶有頁碼和自訂文字的文字頁首和頁尾。 使用AddTextHeaders和AddTextFooters方法可以快速增強 PDF 簡報。 使用最少的程式碼儲存更新後的 PDF 文件,確保文件達到專業水準。
立即開始使用 NuGet 建立 PDF 檔案:
使用 NuGet 套件管理器安裝 IronPDF
複製並運行這段程式碼。
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");部署到您的生產環境進行測試
最簡工作流程(5個步驟)
- 下載 C# 庫以新增頁首和頁尾
- 載入現有 PDF 或渲染新 PDF
- 使用
AddTextHeaders和AddTextFooters方法新增文字頁首和頁尾。 - 使用
AddHtmlHeaders和AddHtmlFooters方法新增 HTML 頭部和尾部 - 透過配置
RenderingOptions,在渲染時新增頁首和頁尾。
如何新增文字頁首/頁尾?
若要建立僅包含文字的頁首/頁腳,請實例化一個TextHeaderFooter對象,新增所需的文本,然後將該物件新增至您的 PDF 。 TextHeaderFooter類別提供了一種簡單的方法,可以在文件的所有頁面上添加一致的文字元素。 這種方法對於不需要複雜格式或樣式的簡單頁首和頁尾尤其有用。
:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-add-textheaderfooter.csusing 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");如何在渲染過程中加入頁首/頁尾?
或者,您可以使用渲染器的RenderingOptions直接新增頁首/頁尾。 這樣可以在渲染過程中添加文字頁首和頁腳,比在創建 PDF 後添加它們更有效率。 如果您事先知道頁首和頁尾的內容,建議採用這種方法,因為它能減少處理時間,並從一開始就確保格式一致。
:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-render-with-textheaderfooter.csusing 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");如何自訂文字和分隔線屬性?
在TextHeaderFooter類別中,您可以設定左側、中間和右側位置的文字。 此外,您還可以透過配置相關屬性來自訂文字的字體類型和大小,並新增自訂顏色的分隔線。 這些自訂選項可讓您建立符合公司品牌或文件樣式指南的頁首和頁尾。 分隔線功能對於在頁首/頁尾和主要內容之間創建視覺分隔尤其有用。
:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-textheaderfooter-options.csusing 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
};自訂文字標題是什麼樣子的?

預設有哪些字體可用?
您可以在IronPDF API 參考文件中查看預設可用的字型類型。 IronPDF 支援多種標準字體,包括 Arial、Times New Roman、Helvetica、Courier 及其變體。 如果您需要自訂字體,請了解更多關於在 IronPDF 中管理字體的資訊。
如何設定文字頁首/頁尾的邊距?
IronPDF 中的文字頁首和頁尾預設帶有預先定義的邊距。 如果您希望文字標題跨越 PDF 文件的整個寬度,請將邊距值指定為 0。這可以透過在AddTextHeaders和AddTextFooters函數中直接設定邊距,或透過ChromePdfRenderer中的RenderingOptions來實現。 了解邊距控制對於實現像素級完美的佈局至關重要,尤其是在使用自訂紙張尺寸時。
:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-textheaderfooter-margins.csusing 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如何透過渲染選項應用邊距?
如果在ChromePdfRenderer的RenderingOptions中加入邊距值,這些邊距也會套用於頁首和頁尾。 這種方法提供了一種集中管理整個文件(包括頁首、頁尾和主要內容)邊距的方式。 如需更進階的邊距自訂設置,請查看我們的自訂邊距設定指南。
:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-rendering-options-margins.csusing 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>");為什麼要避免UseMarginsOnHeaderAndFooter ?
RenderingOptions中的UseMarginsOnHeaderAndFooter屬性不適用於此用例。 它將相同的邊距值套用至頁首、頁尾和正文,這可能導致頁首與文件正文重疊。 此屬性主要用於使用AddTextHeadersAndFooters方法將頁首和頁尾套用至現有 PDF。 為了更好地控制佈局,可以考慮使用分頁符號來管理內容流。
什麼是動態邊際調整?
當文件的頁首內容不同時,靜態邊距會帶來問題。 為了適應不同的頁首和頁尾尺寸,不僅需要調整頁首和頁尾的邊距,還需要調整主 HTML 邊距。 因此,我們實現了動態邊距調整功能,其中頁首和頁尾的高度將根據內容動態調整,主 HTML 將相應地重新定位。 在使用響應式 CSS 佈局時,此功能尤其有用。 請使用以下程式碼嘗試此功能:
:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-dynamic-marigns.csusing 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");如何為文字頁首/頁尾新增元資料?
您可以透過在文字中加入佔位符字串,輕鬆新增頁碼、日期和 PDF 標題等元資料。 當 PDF 渲染時,這些佔位符會自動替換為對應的值。 此功能對於建立可根據文件屬性自動更新的動態頁首和頁尾至關重要。 以下是所有可用的元資料選項:
{page}:目前頁碼。{total-pages}: 總頁數。{url}: 渲染 PDF 文件的 Web 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.csusing 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}",
};如何新增HTML頁首/頁尾?
您可以使用 HTML 和 CSS 進一步自訂頁首/頁尾。 若要建立 HTML 頁首/頁尾,請使用HtmlHeaderFooter類別。 這種方法提供了最大的靈活性,讓您在頁首和頁腳中包含圖像、複雜的佈局和樣式化的內容。 如果要保留 CSS 樣式表中的 CSS 樣式,請在類別屬性中設定LoadStylesAndCSSFromMainHtmlDocument = true 。 這在使用網頁字體和圖示時尤其有用。
:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-htmlheaderfooter.csusing 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);如何控制HTML頁首/頁腳邊距?
與文字頁首和頁尾類似, AddHtmlHeaders和AddHtmlFooters方法都應用了預先定義的邊距。 若要套用自訂邊距,請使用指定邊距值的函數重載。 若要使內容完全跨越所有邊距,請將重載函數中的邊距設為 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);我可以在渲染過程中加入HTML頁首/頁尾嗎?
也可以直接透過渲染器的RenderingOptions新增頁首和頁尾。 這樣可以在渲染過程中加入 HTML 頭部和尾部,比後製效率更高。 當從 HTML 檔案產生 PDF 或將 URL 轉換為 PDF 時,此方法尤其有用。
:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-htmlheaderfooter.csusing 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);何時應該使用純文字而非HTML格式的頁首/頁尾?
在決定使用純文字還是 HTML 格式的頁首/頁尾時,請考慮兩者的優缺點。 如果優先考慮更快的 PDF 渲染速度,請選擇文字頁首/頁尾。 如果自訂和樣式設定至關重要,請選擇 HTML 頁首/頁尾。 當 HTML 頁首/頁尾包含有限內容時,文字頁首/頁尾和 HTML 頁首/頁尾之間的渲染時間差異很小。 但是,隨著 HTML 頁首/頁尾中資源的大小和數量的增加,它也會增加。
對性能有何影響?
文字標題/頁腳渲染速度更快,因為它們不需要 HTML 解析和 CSS 處理。 HTML頁首/頁尾提供了更大的靈活性,但需要與其複雜程度成正比的額外渲染時間。 處理大型文件或批次處理時,效能差異會更加明顯。 為了在高容量場景下獲得最佳效能,請參考我們的非同步 PDF 產生指南。
準備好要看看你還能做什麼了嗎? 請造訪我們的教學頁面:建立 PDF
常見問題解答
如何在 C# 中為 PDF 新增文字頁眉與頁腳?
使用 IronPdf,您可以使用 AddTextHeaders 和 AddTextFooters 方法添加文本页眉和页脚。只需實體化一個 TextHeaderFooter 物件,新增您所需的文字,並將其套用至您的 PDF。這提供了一種直接的方式,可在所有頁面中加入一致的文字元素,例如頁碼或文件標題。
我可以在 PDF 的頁首或頁尾加入頁碼嗎?
是的,IronPDF 使用特殊的占位符支持动态页码。您可以在 TextHeaderFooter 物件中使用 {page} 表示當前頁數,使用 {total-pages} 表示總頁數。例如,設定 RightText = "Page {page} of {total-pages}"將自動在每頁顯示正確的頁碼。
是否可以使用 CSS 定義添加基於 HTML 的頁首和頁尾?
絕對可以!IronPdf 提供了 AddHtmlHeaders 和 AddHtmlFooters 方法,可讓您添加具有完整 CSS 定義支援的 HTML 內容。這可讓您使用格式化的文字、圖片和自訂樣式來建立複雜的頁首和頁尾,以符合您的品牌準則。
在 PDF 中添加頁首和頁尾的最有效方法是什麼?
最有效的方法是在渲染過程中使用 IronPDF 的 RenderingOptions 添加頁首和頁尾。通過在渲染前配置 ChromePdfRenderer 中的 TextHeader 和 TextFooter 屬性,與在 PDF 創建後添加相比,您可以減少處理時間。
我可以在頁首/頁腳的左邊、中間和右邊部分加入不同的內容嗎?
是的,IronPDF 中的 TextHeaderFooter 類提供了 LeftText、CenterText 和 RightText 屬性,讓您可以在每個部分放置不同的內容。這可讓您彈性地組織資訊,例如日期在左側、標題在中間、頁碼在右側。
如何在 PDF 標題中加入公司標誌?
若要在 PDF 標題中加入公司標誌,請使用 IronPDF 中的 AddHtmlHeaders 方法。您可以在 HTML 內容中包含一個圖片標籤,指向您的標誌檔案,並使用 CSS 進行任何額外的造型或定位,以確保它準確地出現在您想要的位置。
我可以在 PDF 的頁首和頁尾包含日期嗎?
是的,IronPDF 支援使用 TextHeaderFooter 物件中的 {date} 占位符動態插入日期。當您在頁首或頁尾文字中包含 {date} 時,在 PDF 產生時會自動以目前的日期取代。






