MaxHeightとUseMarginToHeaderAndFooterの比較
ヘッダーとフッターを含むPDFをレンダリングする際に、よく混同される2つのプロパティがあります:UseMarginToHeaderAndFooter。 これらは異なることを制御しており、混同すると内容が切り取られたり予期しない重なりが発生したりします。 それぞれが何をするのか、そしてどのような状況で使用するのかを以下に示します。
最大高さ
MaxHeightは、レンダリングされたPDFのヘッダーまたはフッターセクションに割り当てられた最大高さを設定します。 IronPDFはデフォルトで、この高さを動的に調整して、すべてのヘッダーまたはフッターのコンテンツが収まるようにします。
MaxHeightを手動で低く設定すると、設定値を超えるコンテンツが切り取られるか隠されます。 逆に、オーバーサイズの値は、目に見えるヘッダーやフッターを拡大しません; IronPDFは、レイアウトを安定させるためにデフォルトのサイズに戻ります。




ヘッダーとフッターにマージンを使用する
ヘッダーとフッターは、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>")
ヘッダーを独自のHtmlFragment内でスタイリングすると、マージンが適用されるコンテンツと一緒に存在するため、間隔が予測可能になります。
UseMarginToHeaderAndFooterプロパティは、左と右のようなメインコンテンツのマージンをヘッダーとフッターセクションに拡張します。 慎重に使用してください: this の方法で垂直マージン(上と下)を適用すると、しばしばコンテンツが重なったり、他の驚きを引き起こします。
- 推奨事項: 必要なときに左と右のマージン調整のみを適用するか、
UseMargins.Allが必要な場合に適用してください。 - 避けるべき: 結果のレイアウトをテストしていない限り、上部と下部のマージンに使用することは避けてください。

