MaxHeight vs UseMarginToHeaderAndFooter
Lorsque vous générez un PDF avec en-têtes et pieds de page, deux propriétés sont souvent confondues : MaxHeight et UseMarginToHeaderAndFooter. Elles contrôlent des éléments différents, et les mélanger conduit à des contenus tronqués ou à des chevauchements inattendus. Voici ce que chacune fait et quand l'utiliser.
MaxHeight
MaxHeight définit la hauteur maximale allouée à la section d'en-tête ou de pied de page dans le PDF généré. Par défaut, IronPDF ajuste cette hauteur dynamiquement pour que tout le contenu de l'en-tête ou du pied de page s'adapte.
Diminuer manuellement MaxHeight coupe ou masque tout contenu qui dépasse la valeur que vous avez définie. À l'inverse, une valeur surdimensionnée n'élargit pas l'en-tête ou le pied de page visible ; IronPDF revient à sa taille par défaut pour maintenir la stabilité de la mise en page.




UseMarginToHeaderAndFooter
Les en-têtes et pieds de page ont leur propre gestion de mise en page, distincte des marges de contenu définies via ChromePdfRenderOptions. Pour un espacement précis, définissez les marges directement dans le HTML de l'objet Header ou Footer :
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>")
En stylisant l'en-tête à l'intérieur de son propre HtmlFragment, vous gardez un espacement prévisible, puisque les marges restent avec le contenu auquel elles s'appliquent.
La propriété UseMarginToHeaderAndFooter étend les marges de contenu principal (comme gauche et droite) aux sections d'en-tête et de pied de page. Utilisez-le avec précaution : appliquer des marges verticales (haut et bas) de cette manière produit souvent des contenus qui se chevauchent et d'autres surprises.
- Recommandé : Appliquez-la uniquement pour l'alignement des marges gauche et droite lorsque vous en avez besoin, ou associez-la à la méthode
AddHtmlHeaderFooter()lorsqueUseMargins.Allest requis. - À éviter : L'utiliser pour les marges haut et bas à moins d'avoir testé la mise en page résultante.

