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>");
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.

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.