Agregar encabezados y pies de página en PDF usando C## y IronPDF
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.
Empieza a crear PDF con NuGet ahora:
Instalar IronPDF con el gestor de paquetes NuGet
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");Despliegue para probar en su entorno real
Empieza a utilizar IronPDF en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Descargue la biblioteca C# para añadir encabezados y pies de página
- Carga un PDF existente o renderiza uno nuevo
- Utilice los métodos
AddTextHeadersyAddTextFooterspara añadir encabezados y pies de página de texto - Utilice los métodos
AddHtmlHeadersyAddHtmlFooterspara añadir encabezados y pies de página HTML - Añada encabezados y pies de página en el momento de la renderización configurando las
RenderingOptions
¿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.csusing 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");¿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.csusing 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");¿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.csusing 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
};¿Qué aspecto tiene el encabezado de texto personalizado?

¿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.csusing 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¿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.csusing 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>");¿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.csusing 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");¿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 etiquetatitleen 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.csusing 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}",
};¿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.csusing 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);¿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);¿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.csusing 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);¿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.






