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

Agregar encabezados y pies de página en PDF usando C## y IronPDF

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

IronPDF le permite añadir fácilmente encabezados y pies de página a documentos PDF en C# utilizando métodos como AddTextHeaders y AddTextFooters para texto simple, o AddHtmlHeaders y AddHtmlFooters para contenido basado en HTML con soporte completo de estilos CSS. Esta potente funcionalidad es esencial para crear PDF profesionales con una marca, numeración de páginas y metadatos de documentos coherentes.

¿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? IronPDF simplifica la aplicación de encabezados y pies de página a archivos PDF en su proyecto de C#. Ya se trate de informes, facturas o cualquier otro documento comercial, los encabezados y pies de página son elementos cruciales de navegación e identificación que mejoran la usabilidad del documento.

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 muestra cómo aplicar encabezados y pies de página basados en texto con números de página y texto personalizado en cuestión de segundos. Utilice los métodos AddTextHeaders y AddTextFooters para mejorar su presentación PDF rápidamente. Guarde su PDF actualizado con un código mínimo, asegurando un acabado profesional a sus documentos.

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

¿Cómo añado un encabezado/pie de texto?

Para crear un encabezado/pie de página sólo con texto, cree un objeto TextHeaderFooter, añada el texto que desee y agregue el objeto a su PDF. La clase TextHeaderFooter proporciona una forma sencilla de añadir elementos de texto coherentes en todas las páginas del documento. Este método es especialmente útil para encabezados y pies de página sencillos que no requieran un formato o estilo complejos.

: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");
$vbLabelText   $csharpLabel

¿Cómo puedo añadir encabezados/pies de página durante la renderización?

Como alternativa, puede añadir directamente un encabezado/pie utilizando las RenderingOptions del renderizador. Esto añade el encabezado y el pie de página del texto durante el proceso de renderizado, lo que resulta más eficaz que añadirlos una vez creado el PDF. Este enfoque es recomendable cuando se conoce de antemano el contenido del encabezado y el pie de página, ya que reduce el tiempo de procesamiento y garantiza un formato coherente desde el principio.

: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");
$vbLabelText   $csharpLabel

¿Cómo puedo personalizar las propiedades del texto y del divisor?

En la clase TextHeaderFooter, puede establecer 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. Estas opciones de personalización permiten crear encabezados y pies de página que se ajusten a la marca corporativa o a las directrices de estilo del documento. La función de línea divisoria es especialmente útil para crear una separación visual entre el encabezado/pie de página y el contenido principal.

: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
};
$vbLabelText   $csharpLabel

¿Qué aspecto tiene el encabezado de texto personalizado?

Ejemplo de alineación de texto que muestra las opciones de posicionamiento del texto a la izquierda, al centro y a la derecha

¿Qué fuentes están disponibles por defecto?

Puede ver qué tipos de fuentes están disponibles por defecto en la Referencia de la API de IronPDF. IronPDF es compatible con una amplia gama de fuentes estándar, como Arial, Times New Roman, Helvetica, Courier y sus variantes. Si necesita fuentes personalizadas, obtenga más información sobre la gestión de fuentes en IronPDF.

¿Cómo definir los márgenes de los encabezados/pies de texto?

Por defecto, los encabezados y pies de página de IronPDF vienen con márgenes predefinidos. Si desea que el encabezado de texto abarque todo el ancho del documento PDF, especifique valores de margen de 0. Esto se puede conseguir estableciendo los márgenes directamente en las funciones AddTextHeaders y AddTextFooters o a través de RenderingOptions en ChromePdfRenderer. Comprender el control de márgenes es crucial para lograr maquetaciones perfectas, especialmente cuando se trabaja con tamaños de papel personalizados.

: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
$vbLabelText   $csharpLabel

¿Cómo aplico márgenes a través de las opciones de renderizado?

Si añade valores de margen en RenderingOptions de ChromePdfRenderer, estos márgenes también se aplicarán a la cabecera y al pie de página. Este enfoque proporciona una forma centralizada de gestionar los márgenes en todo el documento, incluidos los encabezados, los pies de página y el contenido principal. Para una personalización más avanzada de los márgenes, consulta nuestra guía sobre la configuración de márgenes personalizados.

: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>");
$vbLabelText   $csharpLabel

¿Por qué debería evitar UseMarginsOnHeaderAndFooter?

La propiedad UseMarginsOnHeaderAndFooter de 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. Para controlar mejor la maquetación, considere la posibilidad de utilizar saltos de página para gestionar el flujo de contenidos.

¿Qué es el dimensionamiento dinámico de márgenes?

Los márgenes estáticos planteaban un problema cuando el contenido de las cabeceras variaba de un documento a otro. Hubo que hacer ajustes no solo en los márgenes de cabecera y pie de página, sino también en el margen HTML principal para adaptarse a los distintos tamaños de cabecera y pie de página. En consecuencia, hemos implementado una función de dimensionamiento dinámico de los márgenes en la que la altura de la cabecera y el pie de página se ajustan dinámicamente en función del contenido, y el HTML principal se reposiciona en consecuencia. Esta función es especialmente útil cuando se trabaja con diseños CSS adaptables. Utilice el código siguiente para probar esta función:

: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");
$vbLabelText   $csharpLabel

¿Cómo añado metadatos a los encabezados/pies de texto?

Puede añadir fácilmente metadatos como números de página, fecha y título del PDF incorporando cadenas de marcadores de posición en el texto. Estos marcadores de posición se sustituyen automáticamente por los valores correspondientes al renderizar el PDF. Esta función es esencial para crear encabezados y pies de página dinámicos que se actualicen automáticamente en función de las propiedades del documento. 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.

¿Qué marcadores de posición debo utilizar con más frecuencia?

Para obtener más información sobre {page} y {total-pages}, visite la Guía de números de página de IronPDF. Estos marcadores de posición son los más utilizados, ya que proporcionan información esencial para la navegación. Los marcadores de fecha y hora son especialmente útiles para documentos que necesitan un seguimiento de la fecha y hora, como informes o facturas.

: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}",
};
$vbLabelText   $csharpLabel

¿Cómo añado encabezados/pies de página 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. Este enfoque ofrece la máxima flexibilidad, ya que permite incluir imágenes, diseños complejos y contenido con estilo en los encabezados y pies de página. Si desea conservar los estilos CSS de una hoja de estilos CSS, establezca LoadStylesAndCSSFromMainHtmlDocument = true en las propiedades de la clase. Esto resulta especialmente útil cuando se trabaja con fuentes e iconos web.

: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);
$vbLabelText   $csharpLabel

¿Cómo controlo los márgenes del encabezado/pie de página HTML?

Al igual que los encabezados y pies de página de texto, los métodos AddHtmlHeaders y AddHtmlFooters tienen márgenes predefinidos aplicados. Para aplicar márgenes personalizados, use una sobrecarga de las funciones con los valores de margen especificados. Para abarcar todo el contenido sin márgenes, establezca los márgenes en la función de sobrecarga en 0. Este nivel de control es esencial a la hora de crear documentos profesionales con requisitos de maquetación específicos.

: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);
$vbLabelText   $csharpLabel

¿Puedo añadir encabezados/pies de página HTML durante la renderización?

También se pueden añadir encabezados y pies de página directamente a través de las RenderingOptions del renderizador. Esto añade el encabezado y el pie de página HTML durante el proceso de renderización, lo que resulta más eficaz que el procesamiento posterior. Este método es especialmente útil cuando se generan PDF a partir de archivos HTML o conversiones de URL a PDF.

: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);
$vbLabelText   $csharpLabel

¿Cuándo utilizar encabezados/pies de página de texto o HTML?

A la hora de decidir entre cabeceras/pies de página de texto o HTML, hay que tener en cuenta las ventajas y desventajas. Si prioriza un renderizado de PDF más rápido, opte por los encabezados/pies de página de texto. Si la personalización y el estilo son esenciales, elija encabezados/pies de página HTML. La diferencia de tiempo de renderizado entre las cabeceras/pies de página de texto y HTML es mínima cuando las cabeceras/pies de página HTML tienen un contenido limitado. Sin embargo, aumenta a medida que aumenta el tamaño y el número de activos en las cabeceras/pies de página HTML.

¿Cuáles son las implicaciones para el rendimiento?

Las cabeceras y pies de página de texto se renderizan más rápido porque no requieren el análisis sintáctico de HTML ni el procesamiento de CSS. Las cabeceras/pies de página HTML ofrecen más flexibilidad, pero requieren un tiempo de renderizado adicional proporcional a su complejidad. Cuando se trabaja con documentos de gran tamaño o procesamiento por lotes, la diferencia de rendimiento se hace más notable. Para obtener un rendimiento óptimo en situaciones de gran volumen, tenga en cuenta nuestra guía sobre la generación asíncrona de PDF.

¿Listo para ver qué más puedes hacer? Consulte nuestra página de tutoriales aquí: Crear PDF

Preguntas Frecuentes

¿Cómo añado encabezados y pies de página de texto a un PDF en C#?

Con IronPDF, puede añadir encabezados y pies de página de texto utilizando los métodos AddTextHeaders y AddTextFooters. Basta con instanciar un objeto TextHeaderFooter, añadir el texto deseado y aplicarlo al PDF. Esto proporciona una forma sencilla de añadir elementos de texto coherentes, como números de página o títulos de documentos en todas las páginas.

¿Puedo incluir números de página en los encabezados o pies de página de mi PDF?

Sí, IronPDF admite la numeración dinámica de páginas mediante marcadores de posición especiales. Puede utilizar {page} para el número de página actual y {total-pages} para el número total de páginas en sus objetos TextHeaderFooter. Por ejemplo, si establece RightText = "Page {page} of {total-pages}" se mostrarán automáticamente los números de página correctos en cada página.

¿Es posible añadir encabezados y pies de página basados en HTML con estilo CSS?

Por supuesto IronPDF proporciona los métodos AddHtmlHeaders y AddHtmlFooters que permiten añadir contenido HTML con soporte completo de estilos CSS. Esto le permite crear encabezados y pies de página complejos con texto formateado, imágenes y estilos personalizados para que coincidan con las directrices de su marca.

¿Cuál es la forma más eficaz de añadir encabezados y pies de página a los PDF?

El método más eficaz consiste en añadir encabezados y pies de página durante el proceso de renderizado mediante las RenderingOptions de IronPDF. Al configurar las propiedades TextHeader y TextFooter en ChromePdfRenderer antes de la renderización, se reduce el tiempo de procesamiento en comparación con la adición de ellos después de crear el PDF.

¿Puedo añadir contenido diferente a las secciones izquierda, central y derecha de los encabezados/pies de página?

Sí, la clase TextHeaderFooter en IronPDF proporciona propiedades LeftText, CenterText y RightText, lo que le permite colocar contenido diferente en cada sección. Esto le da flexibilidad para organizar información como fechas a la izquierda, títulos en el centro y números de página a la derecha.

¿Cómo añado el logotipo de una empresa a las cabeceras de mis PDF?

Para añadir un logotipo de empresa a los encabezados de su PDF, utilice el método AddHtmlHeaders en IronPDF. Puede incluir una etiqueta de imagen en su contenido HTML que apunte a su archivo de logotipo, junto con cualquier estilo o posicionamiento adicional utilizando CSS para asegurarse de que aparece exactamente donde lo desea.

¿Puedo incluir fechas en los encabezados y pies de página de mis PDF?

Sí, IronPDF admite la inserción dinámica de fechas mediante el marcador de posición {date} en objetos TextHeaderFooter. Cuando incluya {date} en el texto del encabezado o pie de página, se sustituirá automáticamente por la fecha actual cuando se genere el PDF.

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 17,012,929 | Versión: 2025.12 recién lanzado