Comment ajouter des en-têtes et des pieds de page dans des PDFs à l'aide d'Iron PDF

Ajouter des en-têtes et des pieds de page dans un PDF en utilisant C# ; et IronPDF

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

IronPDF vous permet d'ajouter facilement des en-têtes et des pieds de page aux documents PDF en C# à l'aide de méthodes telles que AddTextHeaders et AddTextFooters pour du texte simple, ou AddHtmlHeaders et AddHtmlFooters pour du contenu basé sur HTML avec prise en charge complète du style CSS. Cette fonctionnalité puissante est essentielle pour créer des PDF professionnels avec une image de marque, une numérotation des pages et des métadonnées de document cohérentes.

Besoin d'inclure des numéros de page, un logo d'entreprise ou une date en haut ou en bas de chaque page d'un document PDF ? IronPDF simplifie l'application d'en-têtes et de pieds de page aux PDF dans votre projet C#. Que vous produisiez des rapports, des factures ou tout autre document commercial, les en-têtes et les pieds de page constituent des éléments de navigation et d'identification cruciaux qui améliorent la convivialité du document.

en-tête-rapide:2(Démarrage rapide : Ajouter des en-têtes et des pieds de page aux PDFs en C#)

Ajoutez sans effort des en-têtes et des pieds de page à vos documents PDF en utilisant IronPDF en C#. Ce guide montre comment appliquer des en-têtes et des pieds de page textuels avec des numéros de page et du texte personnalisé en quelques secondes. Utilisez les méthodes AddTextHeaders et AddTextFooters pour améliorer rapidement votre présentation PDF. Enregistrez votre PDF mis à jour avec un code minimal, assurant une finition professionnelle de vos documents.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronPDF avec le gestionnaire de packages NuGet

    PM > Install-Package IronPdf

  2. Copiez et exécutez cet extrait de code.

    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. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Comment ajouter un texte d'en-tête/pied de page?

Pour créer un en-tête/pied de page contenant uniquement du texte, instanciez un objet TextHeaderFooter, ajoutez le texte souhaité et ajoutez l'objet à votre PDF. La classe TextHeaderFooter offre un moyen simple d'ajouter des éléments de texte cohérents sur toutes les pages de votre document. Cette méthode est particulièrement utile pour les en-têtes et les pieds de page simples qui ne nécessitent pas de mise en forme ou de style complexe.

: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

Comment ajouter des en-têtes/pieds de page lors du rendu ?

Vous pouvez également ajouter directement un en-tête/pied de page à l'aide des RenderingOptions du moteur de rendu. Cette fonction ajoute l'en-tête et le pied de page du texte pendant le processus de rendu, ce qui est plus efficace que de les ajouter après la création du PDF. Cette approche est recommandée lorsque vous connaissez à l'avance le contenu de l'en-tête et du pied de page, car elle réduit le temps de traitement et garantit un formatage cohérent dès le départ.

: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

Comment puis-je personnaliser les propriétés du texte et des séparateurs ?

Dans la classe TextHeaderFooter, vous pouvez définir le texte pour les positions gauche, centrale et droite. De plus, vous pouvez personnaliser le type et la taille de la police du texte et ajouter un séparateur avec une couleur personnalisée en configurant les propriétés pertinentes. Ces options de personnalisation vous permettent de créer des en-têtes et des pieds de page qui correspondent à la marque de votre entreprise ou aux directives de style de vos documents. La fonction de ligne de séparation est particulièrement utile pour créer une séparation visuelle entre l'en-tête/le pied de page et le contenu 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

À quoi ressemble l'en-tête de texte personnalisé?

Exemple d'alignement de texte montrant les options de positionnement du texte à gauche, au centre et à droite

Quelles sont les polices disponibles par défaut ?

Vous pouvez voir quels types de polices sont disponibles par défaut dans la Référence API IronPDF. IronPDF prend en charge un large éventail de polices standard, notamment Arial, Times New Roman, Helvetica, Courier et leurs variantes. Si vous avez besoin de polices personnalisées, apprenez-en plus sur la gestion des polices dans IronPDF.

Comment définir les marges pour les en-têtes/pieds de page de texte?

<TODO : Ajouter une image ici -->

Par défaut, les en-têtes et pieds de page de texte dans IronPDF sont dotés de marges prédéfinies. Si vous souhaitez que l'en-tête de texte couvre toute la largeur du document PDF, indiquez des marges de 0. Pour ce faire, vous pouvez définir les marges directement dans les fonctions AddTextHeaders et AddTextFooters ou par le biais des RenderingOptions dans ChromePdfRenderer. Il est essentiel de comprendre le contrôle des marges pour obtenir des mises en page parfaites au pixel près, en particulier lorsque l'on travaille avec des formats de papier personnalisés.

: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

Comment appliquer des marges par le biais des options de rendu?

Si vous ajoutez des valeurs de marge dans les RenderingOptions de ChromePdfRenderer, ces marges s'appliqueront également à l'en-tête et au pied de page. Cette approche offre un moyen centralisé de gérer les marges sur l'ensemble du document, y compris les en-têtes, les pieds de page et le contenu principal. Pour une personnalisation plus poussée des marges, consultez notre guide sur la définition de marges personnalisées.

: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

Pourquoi devrais-je éviter UseMarginsOnHeaderAndFooter?

La propriété UseMarginsOnHeaderAndFooter sur RenderingOptions n'est pas adaptée à ce cas d'utilisation. Elle applique les mêmes valeurs de marge à l'en-tête, au pied de page et au contenu principal, ce qui peut amener l'en-tête à chevaucher le corps du document. Cette propriété est principalement destinée à l'application d'en-têtes et de pieds de page sur les PDFs existants en utilisant la méthode AddTextHeadersAndFooters. Pour un meilleur contrôle de la mise en page, envisagez d'utiliser des sauts de page pour gérer le flux de contenu.

Qu'est-ce que le dimensionnement dynamique des marges ?

Les marges statiques posaient un problème lorsque le contenu des en-têtes variait d'un document à l'autre. Des ajustements ont été nécessaires non seulement pour les marges de l'en-tête et du pied de page, mais aussi pour la marge principale du code HTML afin de tenir compte des différentes tailles d'en-tête et de pied de page. Par conséquent, nous avons mis en place une fonction de dimensionnement dynamique des marges qui permet d'ajuster dynamiquement la hauteur de l'en-tête et du pied de page en fonction du contenu, et de repositionner le code HTML principal en conséquence. Cette fonctionnalité est particulièrement utile lorsque l'on travaille avec des mises en page CSS réactives. Utilisez le code ci-dessous pour essayer cette fonctionnalité :

: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

Comment ajouter des métadonnées aux en-têtes/pieds de page du texte?

Vous pouvez facilement ajouter des métadonnées telles que le numéro de page, la date et le titre du PDF en incorporant des chaînes de caractères génériques dans votre texte. Ces espaces réservés sont automatiquement remplacés par les valeurs correspondantes lorsque le PDF est rendu. Cette fonctionnalité est essentielle pour créer des en-têtes et des pieds de page dynamiques qui se mettent à jour automatiquement en fonction des propriétés du document. Voici toutes les options de métadonnées disponibles :

  • {page} : Numéro de page actuel.
  • {total-pages} : Nombre total de pages.
  • {url} : URL Web à partir de laquelle le document PDF a été rendu.
  • {date} : Date actuelle.
  • {time} : Heure actuelle.
  • {html-title} : Titre HTML spécifié dans la balise title en HTML.
  • {pdf-title} : Titre PDF spécifié dans les métadonnées PDF.

Quels caractères génériques dois-je utiliser le plus souvent ?

Pour en savoir plus sur {page} et {total-pages}, consultez le Guide des numéros de page IronPdf. Ces espaces réservés sont les plus couramment utilisés car ils fournissent des informations de navigation essentielles. Les espaces réservés à la date et à l'heure sont particulièrement utiles pour les documents nécessitant un suivi de l'horodatage, tels que les rapports ou les factures.

: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

Comment ajouter des en-têtes/pieds de page HTML ?

<TODO : Ajouter une image ici -->

Vous pouvez encore personnaliser votre en-tête/pied de page en utilisant HTML et CSS. Pour créer un en-tête/pied de page HTML, utilisez la classe HtmlHeaderFooter. Cette approche offre une flexibilité maximale, vous permettant d'inclure des images, des mises en page complexes et du contenu stylisé dans vos en-têtes et pieds de page. Si vous souhaitez conserver les styles CSS d'une feuille de style CSS, définissez LoadStylesAndCSSFromMainHtmlDocument = true dans les propriétés de la classe. Ceci est particulièrement utile lorsque l'on travaille avec des polices et des icônes 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

Comment contrôler les marges de l'en-tête et du pied de page HTML ?

Comme pour les en-têtes et les pieds de page, les méthodes AddHtmlHeaders et AddHtmlFooters ont des marges prédéfinies qui leur sont appliquées. Pour appliquer des marges personnalisées, utilisez une surcharge des fonctions avec les valeurs de marge spécifiées. Pour couvrir l'ensemble du contenu sans aucune marge, définissez les marges dans la fonction de surcharge sur 0. Ce niveau de contrôle est essentiel lors de la création de documents professionnels avec des exigences de mise en page spécifiques.

: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

Puis-je ajouter des en-têtes/pieds de page HTML pendant le rendu ?

L'ajout d'en-têtes et de pieds de page peut également être effectué directement via les RenderingOptions du moteur de rendu. Ce logiciel ajoute l'en-tête et le pied de page HTML pendant le processus de rendu, ce qui est plus efficace que le post-traitement. Cette méthode est particulièrement utile pour générer des PDF à partir de fichiers HTML ou pour convertir des URL en 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

Quand dois-je utiliser des en-têtes/pieds de page en texte ou en HTML?

Lorsqu'il s'agit de choisir entre des en-têtes/pieds de page textuels et HTML, il convient de prendre en compte les compromis. Si vous privilégiez un rendu PDF plus rapide, optez pour les en-têtes/les pieds de page texte. Si la personnalisation et le style sont essentiels, choisissez les en-têtes/pieds de page HTML. La différence de temps de rendu entre les en-têtes/pieds de page texte et HTML est minime lorsque les en-têtes/pieds de page HTML contiennent un contenu limité. La traduction doit rester professionnelle, en préservant l'exactitude technique tout en expliquant les caractéristiques et les avantages de ces outils de développement.

Quelles sont les implications en termes de performances ?

Les en-têtes/pieds de page textuels s'affichent plus rapidement car ils ne nécessitent pas d'analyse HTML ni de traitement CSS. Les en-têtes/pieds de page HTML offrent une plus grande flexibilité mais nécessitent un temps de rendu supplémentaire proportionnel à leur complexité. Lorsque l'on travaille avec des documents volumineux ou des traitements par lots, la différence de performance devient plus perceptible. Pour des performances optimales dans des scénarios à fort volume, consultez notre guide sur la génération asynchrone de PDF.

Prêt à voir ce que vous pouvez faire d'autre? Consultez notre page de didacticiels ici : Créer des PDF

Questions Fréquemment Posées

Comment ajouter des en-têtes et des pieds de page à un PDF en C# ?

Avec IronPDF, vous pouvez ajouter des en-têtes et des pieds de page de texte à l'aide des méthodes AddTextHeaders et AddTextFooters. Il suffit d'instancier un objet TextHeaderFooter, d'ajouter le texte souhaité et de l'appliquer à votre PDF. Il s'agit d'un moyen simple d'ajouter des éléments textuels cohérents, tels que des numéros de page ou des titres de document, sur toutes les pages.

Puis-je inclure des numéros de page dans les en-têtes ou les pieds de page de mon PDF ?

Oui, IronPDF prend en charge la numérotation dynamique des pages à l'aide de caractères spéciaux. Vous pouvez utiliser {page} pour le numéro de la page actuelle et {total-pages} pour le nombre total de pages dans vos objets TextHeaderFooter. Par exemple, en définissant RightText = "Page {page} de {total-pages}", les numéros de page corrects s'afficheront automatiquement sur chaque page.

Est-il possible d'ajouter des en-têtes et des pieds de page HTML avec un style CSS ?

Absolument ! IronPDF fournit les méthodes AddHtmlHeaders et AddHtmlFooters qui vous permettent d'ajouter du contenu HTML avec une prise en charge complète du style CSS. Vous pouvez ainsi créer des en-têtes et des pieds de page complexes avec du texte formaté, des images et un style personnalisé pour respecter les directives de votre marque.

Quelle est la méthode la plus efficace pour ajouter des en-têtes et des pieds de page aux PDF ?

L'approche la plus efficace consiste à ajouter des en-têtes et des pieds de page pendant le processus de rendu à l'aide des options de rendu d'IronPDF. En configurant les propriétés TextHeader et TextFooter dans ChromePdfRenderer avant le rendu, vous réduisez le temps de traitement par rapport à l'ajout de ces propriétés après la création du PDF.

Puis-je ajouter un contenu différent dans les sections gauche, centrale et droite des en-têtes/pieds de page ?

Oui, la classe TextHeaderFooter d'IronPDF fournit les propriétés LeftText, CenterText et RightText, ce qui vous permet de placer un contenu différent dans chaque section. Vous pouvez ainsi organiser des informations telles que les dates à gauche, les titres au centre et les numéros de page à droite.

Comment ajouter le logo d'une entreprise aux en-têtes de mes PDF ?

Pour ajouter un logo d'entreprise aux en-têtes de votre PDF, utilisez la méthode AddHtmlHeaders d'IronPDF. Vous pouvez inclure une balise d'image dans votre contenu HTML pointant vers votre fichier de logo, ainsi que tout style ou positionnement supplémentaire à l'aide de CSS pour s'assurer qu'il apparaît exactement là où vous le souhaitez.

Puis-je inclure des dates dans les en-têtes et pieds de page de mes PDF ?

Oui, IronPDF prend en charge l'insertion dynamique de dates à l'aide de l'espace réservé {date} dans les objets TextHeaderFooter. Lorsque vous incluez {date} dans votre texte d'en-tête ou de pied de page, il sera automatiquement remplacé par la date actuelle lorsque le PDF sera généré.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite
Prêt à commencer?
Nuget Téléchargements 17,012,929 | Version : 2025.12 vient de sortir