IRONSOFTWAREHOME

Desalineación de encabezado y contenido

Curtis Chau
Curtis Chau
Updated: 29 de junio de 2026

Al renderizar HTML a PDF, el encabezado y el pie de página pueden estar al ras del borde de la página mientras que el contenido del cuerpo se empuja hacia adentro, más visiblemente a lo largo de los márgenes izquierdo y derecho. Esto sucede incluso con MarginLeft = 0 configurado y UseMarginsOnHeaderAndFooter habilitado.

La causa es el estilo predeterminado de Chrome. Su motor de renderizado aplica un margen de 8 píxeles al elemento <body> de cada página. Ese valor predeterminado está bien para contenido web normal, pero deja un espacio visible de 8px entre su contenido y el borde del PDF, independientemente de MarginLeft = 0 que pase a ChromePdfRenderer.RenderingOptions. El encabezado y el pie de página no se ven afectados: con los márgenes configurados en 0, se alinean directamente con el borde de la página como se espera, así que solo el cuerpo se desalinean.

Este fragmento reproduce el desajuste:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<h1>This is header</h1>"
};
renderer.RenderingOptions.MarginLeft = 0;
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.Left;
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
C#

PDF mostrando encabezado ajustado a la izquierda pero contenido del cuerpo desalineado hacia adentro

Solución

Sobrescriba el margen predeterminado <body> de Chrome para que el contenido se alinee con el encabezado y el pie de página en todo el ancho de la página. Aplique márgenes negativos para cancelar el desplazamiento incorporado de 8px:

body {
margin-left: -8px;
margin-right: -8px;
}
Text

Los valores negativos neutralizan el relleno predeterminado de Chrome para que el encabezado, el cuerpo y el pie de página se alineen al mismo borde. Aplicado en línea, la representación corregida se ve así:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<h1>This is header</h1>"
};
renderer.RenderingOptions.MarginLeft = 0;
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.Left;
var pdf = renderer.RenderHtmlAsPdf("<h1 style=\"margin-left: -8;\">Hello World</h1>");  //adjust margin left to -8 px to cancel out default Chrome margin
C#

PDF mostrando encabezado y contenido del cuerpo alineados en el mismo borde izquierdo después de la corrección

Consejos para depuración

  • Prefiere una hoja en blanco: en lugar de márgenes negativos, aplica un reinicio de CSS o establece margin: 0 explícitamente en el elemento <body> para eliminar el desplazamiento predeterminado en la fuente.
  • Alcance del comportamiento: el espacio de 8px aparece siempre que HTML se renderiza a través de Chrome sin cabeza, incluyendo IronPDF, Puppeteer y el Protocolo DevTools de Chrome, por lo que la misma solución se aplica en esas herramientas.
Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

¿Listo para empezar?

Nuget Downloads 21,105,021Versión:2026.9recién publicada

Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999