MaxHeight vs UseMarginToHeaderAndFooter

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

當您生成帶有頁首和頁尾的PDF時,兩個屬性通常會被混淆:UseMarginToHeaderAndFooter。 它們控制不同的事物,將它們混合會導致內容被剪切或意外重疊。 以下是每個屬性的功能及其適用時機。

MaxHeight

MaxHeight設置渲染PDF時頁首或頁尾區域的最大高度。 預設情況下,IronPDF會動態調整此高度,以適應所有頁首或頁尾內容。

手動降低MaxHeight會剪切或隱藏超出您設定值的內容。 反之,過大的值不會增大可見的頁首或頁尾; IronPDF會回退到其預設尺寸,以保持版面穩定。

 MaxHeight為10的渲染PDF,其中頁首文字被剪切

 MaxHeight為15的渲染PDF,其中頁首文字部分被剪切

 MaxHeight為50的渲染PDF,顯示完整的頁首

 MaxHeight為100的渲染PDF,顯示與預設相同尺寸

請注意MaxHeight不會在頁首或頁尾與主要文件內容之間新增任何邊距。 它只限制該區域的高度。

UseMarginToHeaderAndFooter

頁首和頁尾有其自己的佈局處理,與通過ChromePdfRenderOptions設定的內容邊距分開。 為了精確的間距,直接在Footer物件的HTML中定義邊距:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = @"<div style=""margin-top: 20px; margin-right: 40px; margin-bottom: 10px; margin-left: 30px; background-color: lightblue;"">
   This is Header
  </div>",
  DrawDividerLine = true,
  MaxHeight = 30
};
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = @"<div style=""margin-top: 20px; margin-right: 40px; margin-bottom: 10px; margin-left: 30px; background-color: lightblue;"">
   This is Header
  </div>",
  DrawDividerLine = true,
  MaxHeight = 30
};
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style=""margin-top: 20px; margin-right: 40px; margin-bottom: 10px; margin-left: 30px; background-color: lightblue;"">
   This is Header
  </div>",
    .DrawDividerLine = True,
    .MaxHeight = 30
}
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
$vbLabelText   $csharpLabel

在其自己的HtmlFragment中設計頁首可保持間距可預測,因為邊距與其所適用的內容共存。

UseMarginToHeaderAndFooter屬性將主要內容的邊距(例如左右)延伸至頁首和頁尾區域。 謹慎使用:以這種方式應用垂直邊距(上下)通常會導致內容重疊及其他意外情況。

  • 建議: 僅在需要時應用於左右邊距對齊,或者當需要AddHtmlHeaderFooter()方法搭配使用。
  • 避免: 在未測試結果佈局的情況下使用於上下邊距。
Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 20,296,129 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。