MaxHeight vs UseMarginToHeaderAndFooter
Quando você renderiza um PDF com cabeçalhos e rodapés, duas propriedades comumente se confundem: MaxHeight e UseMarginToHeaderAndFooter. Eles controlam coisas diferentes, e misturá-los leva a conteúdo cortado ou sobreposições inesperadas. Aqui está o que cada um faz e quando usá-lo.
MaxHeight
Define a altura máxima alocada para a seção de cabeçalho ou rodapé no PDF renderizado. Por padrão, o IronPDF ajusta essa altura dinamicamente para que todo o conteúdo do cabeçalho ou rodapé se encaixe.
Reduzir MaxHeight manualmente corta ou oculta qualquer conteúdo que exceda o valor definido. Indo na outra direção, um valor superdimensionado não aumenta o cabeçalho ou rodapé visível; o IronPDF recorre ao seu dimensionamento padrão para manter o layout estável.




UseMarginToHeaderAndFooter
Cabeçalhos e rodapés têm seu próprio manuseio de layout, separados das margens de conteúdo definidas através de ChromePdfRenderOptions. Para espaçamento preciso, defina margens diretamente no HTML do objeto 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>")
Estilizar o cabeçalho dentro de seu próprio HtmlFragment mantém o espaço previsível, já que as margens ficam com o conteúdo a que se aplicam.
A propriedade UseMarginToHeaderAndFooter estende as margens do conteúdo principal (como esquerda e direita) para as seções de cabeçalho e rodapé. Use-a com cuidado: aplicar margens verticais (superior e inferior) dessa forma geralmente produz conteúdo sobreposto e outras surpresas.
- Recomendado: Aplique-a apenas para alinhamento de margens esquerda e direita quando necessário, ou combine-a com o método
AddHtmlHeaderFooter()quandoUseMargins.Allfor necessário. - Evite: Usá-la para margens superior e inferior se você não tiver testado o layout resultante.

