Cómo agregar encabezados y pies de página en PDF usando IronPDF

Añadir encabezados y pies de página en PDF con C# y IronPDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

¿Necesita incluir números de página, un logo de la empresa o una fecha en la parte superior o inferior de cada página en un documento PDF? ¡Con encabezados y pies de página, puede hacerlo! Con IronPDF, es muy sencillo aplicar encabezados y pies de página a PDFs en su proyecto de C#.

Inicio rápido: Agregar encabezados y pies de página a PDFs en C#

Agregue fácilmente encabezados y pies de página a sus documentos PDF usando IronPDF en C#. Esta guía rápida le muestra cómo aplicar encabezados y pies de página basados en texto con números de página y texto personalizado en segundos. Utilice los métodos AddTextHeaders y AddTextFooters para mejorar de manera rápida la presentación de su PDF. Guarde su PDF actualizado con un código mínimo, asegurando un acabado profesional a sus documentos. Perfecto para desarrolladores que buscan una manera rápida y eficiente de gestionar encabezados y pies de página en documentos con IronPDF.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronPDF con el gestor de paquetes NuGet

    PM > Install-Package IronPdf

  2. Copie y ejecute este fragmento de código.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { TextHeader = new IronPdf.TextHeaderFooter { CenterText = "Report • {date}" }, TextFooter = new IronPdf.TextHeaderFooter { RightText = "Page {page} of {total‑pages}" } } }
        .RenderHtmlAsPdf("<h1>Hello World!</h1>")
        .SaveAs("withHeadersFooters.pdf");
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronPDF en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Ejemplo de cabecera/pie de página

Para crear un encabezado/pie de página solo con texto, instancie un objeto TextHeaderFooter, agregue el texto deseado y añada el objeto a su PDF.

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-add-textheaderfooter.cs
using IronPdf;

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "This is the header!",
};

// Create text footer
TextHeaderFooter textFooter = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

// Add text header and footer to the PDF
pdf.AddTextHeaders(textHeader);
pdf.AddTextFooters(textFooter);

pdf.SaveAs("addTextHeaderFooter.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Alternativamente, puede agregar directamente un encabezado/pie de página usando las opciones de renderizado del renderizador. Esto agregará el encabezado y pie de página de texto durante el proceso de renderizado.

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-render-with-textheaderfooter.cs
using IronPdf;

// Instantiate renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Create header and add to rendering options
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "This is the header!",
};


// Create footer and add to rendering options
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

// Render PDF with header and footer
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
pdf.SaveAs("renderWithTextHeaderFooter.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Personalizar propiedades de texto y divisores

En la clase TextHeaderFooter, usted tiene la habilidad de establecer el texto para las posiciones izquierda, central y derecha. Además, puede personalizar el tipo de fuente y el tamaño del texto y agregar un divisor con un color personalizado configurando las propiedades relevantes.

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-textheaderfooter-options.cs
using IronPdf;
using IronPdf.Font;
using IronSoftware.Drawing;

// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "Center text", // Set the text in the center
    LeftText = "Left text", // Set left-hand side text
    RightText = "Right text", // Set right-hand side text
    Font = IronSoftware.Drawing.FontTypes.ArialBoldItalic, // Set font
    FontSize = 16, // Set font size
    DrawDividerLine = true, // Draw Divider Line
    DrawDividerLineColor = Color.Red, // Set color of divider line
};
Imports IronPdf
Imports IronPdf.Font
Imports IronSoftware.Drawing

' Create text header
Private textHeader As New TextHeaderFooter With {
	.CenterText = "Center text",
	.LeftText = "Left text",
	.RightText = "Right text",
	.Font = IronSoftware.Drawing.FontTypes.ArialBoldItalic,
	.FontSize = 16,
	.DrawDividerLine = True,
	.DrawDividerLineColor = Color.Red
}
$vbLabelText   $csharpLabel

Cabecera de texto de salida

Encabezado del texto

You can see what font types are available by default in the IronPDF API Reference.

Configurar márgenes para encabezado/pie de texto

Por defecto, el encabezado y pie de página de texto en IronPDF vienen con márgenes predefinidos. Si desea que el encabezado de texto abarque todo el ancho del documento PDF, puede especificar valores de margen de 0. Esto se puede lograr ya sea estableciendo directamente los márgenes en las funciones AddTextHeaders y AddTextFooters o a través de RenderingOptions en ChromePdfRenderer.

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-textheaderfooter-margins.cs
using IronPdf;

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

TextHeaderFooter header = new TextHeaderFooter
{
    CenterText = "This is the header!",
};

TextHeaderFooter footer = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

pdf.AddTextHeaders(header, 35, 30, 25); // Left Margin = 35, Right Margin  = 30, Top Margin = 25
pdf.AddTextFooters(footer, 35, 30, 25); // Margin values are in mm
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Si agrega valores de margen en las RenderingOptions de ChromePdfRenderer, estos márgenes también se aplicarán al encabezado y pie de página.

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-rendering-options-margins.cs
using IronPdf;

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();

TextHeaderFooter header = new TextHeaderFooter
{
    CenterText = "This is the header!",
};

TextHeaderFooter footer = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

// Margin values are in mm
renderer.RenderingOptions.MarginRight = 30;
renderer.RenderingOptions.MarginLeft = 30;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;

// Add header and footer to renderer
renderer.RenderingOptions.TextHeader = header;
renderer.RenderingOptions.TextFooter = footer;

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
Imports IronPdf

' Instantiate renderer and create PDF
Private renderer As New ChromePdfRenderer()

Private header As New TextHeaderFooter With {.CenterText = "This is the header!"}

Private footer As New TextHeaderFooter With {.CenterText = "This is the footer!"}

' Margin values are in mm
renderer.RenderingOptions.MarginRight = 30
renderer.RenderingOptions.MarginLeft = 30
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25

' Add header and footer to renderer
renderer.RenderingOptions.TextHeader = header
renderer.RenderingOptions.TextFooter = footer

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
$vbLabelText   $csharpLabel

La propiedad UseMarginsOnHeaderAndFooter en RenderingOptions no es adecuada para este caso de uso. Aplica los mismos valores de margen al encabezado, pie de página y contenido principal, lo que puede causar que el encabezado se superponga con el cuerpo del documento. Esta propiedad está principalmente destinada a aplicar encabezados y pies de página a PDFs existentes usando el método AddTextHeadersAndFooters.

Dimensionamiento dinámico de márgenes

El margen estático representaba un problema cuando el contenido del encabezado variaba entre documentos. Se requirieron ajustes no solo para los márgenes del encabezado y pie de página, sino también para el margen principal de HTML para acomodar diferentes tamaños de encabezado y pie de página. En consecuencia, hemos implementado una función de Tamaño de Margen Dinámico donde la altura del encabezado y pie de página se ajustará dinámicamente según el contenido, y el HTML principal se reposicionará en consecuencia. Por favor use el código abajo para comprobar la característica:

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-dynamic-marigns.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = @"<div style='background-color: #4285f4; color: white; padding: 15px; text-align: center;'>
                    <h1>Example header</h1> <br>
                    <p>Header content</p>
                    </div>",
    // Enable the dynamic height feature
    MaxHeight = HtmlHeaderFooter.FragmentHeight,
};

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>");
pdf.SaveAs("dynamicHeaderSize.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
	.HtmlFragment = "<div style='background-color: #4285f4; color: white; padding: 15px; text-align: center;'>
                    <h1>Example header</h1> <br>
                    <p>Header content</p>
                    </div>",
	.MaxHeight = HtmlHeaderFooter.FragmentHeight
}

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>")
pdf.SaveAs("dynamicHeaderSize.pdf")
$vbLabelText   $csharpLabel

Cabecera/pie de página de metadatos a texto

Puede fácilmente agregar metadatos como números de página, la fecha y el título de un PDF, incorporando cadenas de marcadores de posición en su texto. Aquí están todas las opciones de metadatos disponibles:

  • {page}: Número de página actual.
  • {total-pages}: Número total de páginas.
  • {url}: URL web desde la cual se renderizó el documento PDF.
  • {date}: Fecha actual.
  • {time}: Hora actual.
  • {html-title}: Título HTML especificado en la etiqueta title en HTML.
  • {pdf-title}: Título del PDF especificado en los metadatos del PDF.

Para aprender más acerca de {page} y {total-pages}, por favor visite la guía Guía de Números de Página de IronPDF.

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-mail-merge.cs
using IronPdf;

// Create header and footer
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "{page} of {total-pages}",
    LeftText = "Today's date: {date}",
    RightText = "The time: {time}",
};

TextHeaderFooter textFooter = new TextHeaderFooter
{
    CenterText = "Current URL: {url}",
    LeftText = "Title of the HTML: {html-title}",
    RightText = "Title of the PDF: {pdf-title}",
};
Imports IronPdf

' Create header and footer
Private textHeader As New TextHeaderFooter With {
	.CenterText = "{page} of {total-pages}",
	.LeftText = "Today's date: {date}",
	.RightText = "The time: {time}"
}

Private textFooter As New TextHeaderFooter With {
	.CenterText = "Current URL: {url}",
	.LeftText = "Title of the HTML: {html-title}",
	.RightText = "Title of the PDF: {pdf-title}"
}
$vbLabelText   $csharpLabel

Añadir ejemplo de encabezado/pie HTML

Puede personalizar aún más su encabezado/pie de página utilizando HTML y CSS. Para crear un encabezado/pie de página HTML, use la clase HtmlHeaderFooter. Si le gustaría conservar estilos CSS de una hoja de estilo CSS, asegúrese de establecer LoadStylesAndCSSFromMainHtmlDocument = true en las propiedades de la clase.

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-htmlheaderfooter.cs
using IronPdf;

string headerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a header!</h1>
    </body>
    </html>";

string footerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a footer!</h1>
    </body>
    </html>";

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

// Create header and footer
HtmlHeaderFooter htmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = headerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = footerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

// Add to PDF
pdf.AddHtmlHeaders(htmlHeader);
pdf.AddHtmlFooters(htmlFooter);
Imports IronPdf

Private headerHtml As String = "
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a header!</h1>
    </body>
    </html>"

Private footerHtml As String = "
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a footer!</h1>
    </body>
    </html>"

' Instantiate renderer and create PDF
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")

' Create header and footer
Private htmlHeader As New HtmlHeaderFooter With {
	.HtmlFragment = headerHtml,
	.LoadStylesAndCSSFromMainHtmlDocument = True
}

Private htmlFooter As New HtmlHeaderFooter With {
	.HtmlFragment = footerHtml,
	.LoadStylesAndCSSFromMainHtmlDocument = True
}

' Add to PDF
pdf.AddHtmlHeaders(htmlHeader)
pdf.AddHtmlFooters(htmlFooter)
$vbLabelText   $csharpLabel

Similar al encabezado y pie de página de texto, los métodos AddHtmlHeaders y AddHtmlFooters mostrados arriba tienen márgenes predefinidos aplicados a ellos. Para aplicar márgenes personalizados, use una sobrecarga de las funciones con los valores de margen especificados. Para abarcar todo el contenido sin ningún margen, establezca los márgenes en la función sobrecargada a 0.

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-htmlheaderfooter-margins.cs
// Add to PDF
pdf.AddHtmlHeaders(header, 0, 0, 0);
pdf.AddHtmlFooters(footer, 0, 0, 0);
' Add to PDF
pdf.AddHtmlHeaders(header, 0, 0, 0)
pdf.AddHtmlFooters(footer, 0, 0, 0)
$vbLabelText   $csharpLabel

Agregar encabezados y pies de página también se podría hacer directamente a través de las opciones de renderizado del renderizador. Esto agregará el encabezado y pie de página HTML durante el proceso de renderizado.

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-render-with-htmlheaderfooter.cs
using IronPdf;

string headerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a header!</h1>
    </body>
    </html>";

string footerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a footer!</h1>
    </body>
    </html>";

// Instantiate renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Create header and footer and add to rendering options
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = headerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = footerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

// Render PDF with header and footer
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
Imports IronPdf

Private headerHtml As String = "
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a header!</h1>
    </body>
    </html>"

Private footerHtml As String = "
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a footer!</h1>
    </body>
    </html>"

' Instantiate renderer
Private renderer As New ChromePdfRenderer()

' Create header and footer and add to rendering options
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
	.HtmlFragment = headerHtml,
	.LoadStylesAndCSSFromMainHtmlDocument = True
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
	.HtmlFragment = footerHtml,
	.LoadStylesAndCSSFromMainHtmlDocument = True
}

' Render PDF with header and footer
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
$vbLabelText   $csharpLabel

Elegir entre encabezados/pies de página de texto y HTML

Al decidir entre encabezados/pies de página de texto y HTML, considere los beneficios y costos. Si prioriza un renderizado de PDF más rápido, opte por los encabezados/pies de página de texto. Por otro lado, si la personalización y el estilo son esenciales, opte por los encabezados/pies de página HTML. La diferencia en los tiempos de renderizado entre encabezados/pies de página de texto y HTML no es demasiado significativa cuando los encabezados/pies de página HTML no contienen mucho contenido. Sin embargo, aumenta a medida que el tamaño y la cantidad de elementos en los encabezados/pies de página HTML aumenta.

¿Listo para ver qué más puedes hacer? Consulta nuestra página de tutorial aquí: Crear PDFs

Preguntas Frecuentes

¿Cómo puedo agregar encabezados y pies de página a un documento PDF en un proyecto de C#?

Para agregar encabezados y pies de página a un documento PDF en un proyecto de C#, utiliza IronPDF. Primero, descarga la librería IronPDF, luego carga o crea un PDF. Puedes usar métodos como AddTextHeaders y AddTextFooters para encabezados/pies de página basados en texto o AddHtmlHeaders y AddHtmlFooters para opciones basadas en HTML.

¿Qué métodos están disponibles para agregar encabezados o pies de página en texto y HTML en C#?

En IronPDF, puedes usar AddTextHeaders y AddTextFooters para agregar encabezados y pies de página de texto, mientras que AddHtmlHeaders y AddHtmlFooters se usan para encabezados y pies de página en HTML.

¿Cómo personalizo los encabezados y pies de página en un PDF usando C#?

Personaliza los encabezados y pies de página en IronPDF ajustando propiedades de texto como tipo de fuente, tamaño y alineación usando la clase TextHeaderFooter. Para encabezados y pies de página en HTML, utiliza estilos HTML y CSS para un diseño mejorado.

¿Cómo puedo asegurarme de que los encabezados y pies de página no se superpongan con el contenido principal en un PDF?

Asegúrate de que los encabezados y pies de página no se superpongan con el contenido principal estableciendo márgenes apropiados en IronPDF. Usa las RenderingOptions en ChromePdfRenderer para especificar los valores de margen, o habilita el redimensionado dinámico de márgenes, que se ajusta automáticamente según el contenido.

¿Cuál es la ventaja de usar encabezados y pies de página en HTML en documentos PDF?

Los encabezados y pies de página en HTML en IronPDF ofrecen una mayor personalización y flexibilidad de estilo en comparación con los encabezados y pies de página de texto. Permiten el uso de HTML y CSS, lo que habilita diseños complejos y visualmente atractivos.

¿Puedo incluir contenido dinámico como números de página y fechas en los encabezados y pies de página de un PDF?

Sí, puedes incluir contenido dinámico como números de página y fechas en los encabezados y pies de página de un PDF usando IronPDF. Usa cadenas de marcador de posición como {page}, {total-pages}, {date} y {pdf-title} dentro del texto de encabezado/pie de página.

¿Cómo elijo entre encabezados/pies de página de texto y HTML en mi proyecto de PDF?

Elige encabezados/pies de página de texto en IronPDF para tiempos de renderizado más rápidos. Opta por encabezados/pies de página en HTML si necesitas más opciones de personalización y estilo. Considera la complejidad y el tamaño del contenido, ya que estos pueden influir en el rendimiento del renderizado.

¿Es posible aplicar márgenes personalizados a los encabezados y pies de página en HTML en PDFs?

Sí, se pueden aplicar márgenes personalizados a los encabezados y pies de página en HTML en IronPDF. Usa las sobrecargas de AddHtmlHeaders y AddHtmlFooters para especificar los valores de margen y controlar el ancho del encabezado/pie de página.

¿IronPDF es totalmente compatible con .NET 10 para usar encabezados y pies de página en la creación de PDF?

Sí. IronPDF es totalmente compatible con .NET 10 y permite usar los mismos métodos de encabezado y pie de página (como AddTextHeaders , AddTextFooters , AddHtmlHeaders y AddHtmlFooters ) que en versiones anteriores de .NET. No se requiere configuración adicional al usarlo en proyectos .NET 10, incluidos entornos de escritorio, web o contenedores.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más
¿Listo para empezar?
Nuget Descargas 16,493,056 | Version: 2025.11 recién lanzado