Class CssPageRulePolicy
Controls how CSS @page at-rule margins in the source HTML are reconciled with the
margin values configured on ChromePdfRenderOptions when rendering HTML to PDF.
IronPDF renders headers and footers as a separate pass that is stamped into the page margin
band. When the source HTML declares @page { margin: ... }, Chrome honours those CSS margins
for the body render, which can disagree with the margins IronPDF used to size and position the
header/footer band, causing content to overlap the header/footer.
This policy makes that conflict explicit instead of leaving it to chance.
Inheritance
Namespace: IronPdf
Assembly: IronPdf.dll
Syntax
public sealed class CssPageRulePolicy : Enum
CssPageRulePolicy controls how CSS @page margin declarations in source HTML are reconciled with the margins configured on ChromePdfRenderOptions during PDF rendering. Default applies IronPDF's built-in reconciliation behaviour. RenderingOptionsWin ignores CSS @page margins and uses only the ChromePdfRenderOptions values, keeping header and footer bands correctly positioned. CssPageWin honours the CSS @page margins, which may cause body content to overlap stamped headers or footers. See the HTML to PDF guide for margin configuration details.
renderer.RenderingOptions.CssPageRulePolicy = CssPageRulePolicy.RenderingOptionsWin;Fields
CssPageWin
The CSS @page margins are authoritative. IronPDF parses the @page margins from
the HTML and copies them onto ChromePdfRenderOptions so the body render and the
header/footer band agree.
The @page rule is honoured literally: only the sides the CSS actually declares are
copied. If the CSS omits a side (for example margin-bottom), IronPDF does
not auto-reserve space for the footer on that side, preventing overlap is
then the responsibility of the author's CSS. Header/footer margin auto-sizing is disabled
under this policy for the same reason.
Declaration
public const CssPageRulePolicy CssPageWin
Field Value
| Type | Description |
|---|---|
| CssPageRulePolicy |
Default
IronPDF does not inspect or rewrite CSS @page margins;
whatever the browser resolves (which may differ from ChromePdfRenderOptions
margins) is used.
Declaration
public const CssPageRulePolicy Default
Field Value
| Type | Description |
|---|---|
| CssPageRulePolicy |
RenderingOptionsWin
The margin values on ChromePdfRenderOptions are authoritative. Any
margin/margin-* declarations inside CSS @page rules are stripped from
the HTML and replaced with the configured render-option margins, so the body render and
the header/footer band agree.
Declaration
public const CssPageRulePolicy RenderingOptionsWin
Field Value
| Type | Description |
|---|---|
| CssPageRulePolicy |
value__
Declaration
public int value__
Field Value
| Type | Description |
|---|---|
| System.Int32 |