MaxHeight vs UseMarginToHeaderAndFooter
Cuando renderizas un PDF con cabeceras y pies de página, dos propiedades comúnmente se confunden: MaxHeight y UseMarginToHeaderAndFooter. Controlan cosas diferentes, y mezclarlas conlleva a contenido recortado o superposiciones inesperadas. Aquí está lo que hace cada uno y cuándo recurrir a cada uno.
MaxHeight
MaxHeight establece la altura máxima asignada a la sección del encabezado o pie de página en el PDF generado. Por defecto, IronPDF ajusta esta altura dinámicamente para que todo el contenido del encabezado o pie quepa.
Reducir manualmente MaxHeight recorta o oculta cualquier contenido que exceda el valor que has establecido. Por otro lado, un valor excesivamente grande no agranda el encabezado o pie visible; IronPDF vuelve a su dimensionamiento predeterminado para mantener estable el diseño.




UseMarginToHeaderAndFooter
Las cabeceras y pies de página tienen su propio manejo de diseño, separado de los márgenes de contenido establecidos a través de ChromePdfRenderOptions. Para un espaciado preciso, define los márgenes directamente en el HTML del objeto Header o 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>")
Estilizar el encabezado dentro de su propio HtmlFragment mantiene el espaciado predecible, ya que los márgenes conviven con el contenido al que se aplican.
La propiedad UseMarginToHeaderAndFooter extiende los márgenes del contenido principal (como los de la izquierda y derecha) a las secciones de encabezado y pie de página. Úselo con cuidado: aplicar márgenes verticales (arriba y abajo) de esta manera a menudo produce contenido superpuesto y otras sorpresas.
- Recomendado: Aplícalo solo para la alineación de márgenes izquierdo y derecho cuando sea necesario, o combínalo con el método
AddHtmlHeaderFooter()cuando se requieraUseMargins.All. - Evitar: Usarlo para márgenes superior e inferior a menos que haya probado el diseño resultante.

