Comment ajouter des numéros de page aux PDFs en utilisant C#

Comment ajouter des numéros de page à un PDF en utilisant C#35;

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

IronPDF vous permet d'ajouter des numéros de page aux PDF en C# à l'aide des chaînes de caractères génériques {page} et {total-pages} dans les en-têtes/pieds de page, avec des options permettant de les appliquer à des pages ou des sections spécifiques pour améliorer la navigation dans le document.

Les numéros de page sont des numéros séquentiels attribués à chaque page d'un document PDF. Ces outils sont des composants essentiels de la navigation, qui aident les lecteurs à localiser des pages spécifiques et à suivre leur position. Les numéros de page permettent également de citer et de référencer facilement le contenu. Avec IronPDF, l'ajout de numéros de page à votre PDF est très simple.

<TODO : Ajouter une image ici -->

en-tête:2(Démarrage rapide : Ajoutez facilement des numéros de page aux PDF)

Ajoutez des numéros de page aux documents PDF à l'aide d'IronPDF. Avec un minimum de code C#, vous pouvez insérer des numéros de page dynamiques dans les en-têtes ou les pieds de page, personnaliser leur emplacement et spécifier les pages sur lesquelles ils apparaissent. Qu'il s'agisse de traiter de nouveaux PDF ou des PDF existants, IronPDF offre une solution flexible pour améliorer la navigation et l'organisation des 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 = { HtmlFooter = new IronPdf.HtmlHeaderFooter { HtmlFragment = "<center>{page}of{total-pages}</center>", DrawDividerLine = true } } }
         .RenderHtmlAsPdf("<h1>My multi-page document</h1><div style='page-break-after:always;'></div><h1>Page 2</h1>")
         .SaveAs("numbered-pages.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 des numéros de page de base à un PDF?

<TODO : Ajouter une image ici -->

En utilisant les chaînes de caractères {page} et {total-pages} avec la classe TextHeaderFooter ou HtmlHeaderFooter, vous pouvez ajouter le numéro de la page en cours et le nombre total de pages. Cette fonctionnalité est essentielle pour créer de nouveaux PDF ou convertir des documents HTML en PDF qui nécessitent une mise en forme professionnelle.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-basic.cs
using IronPdf;

// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter()
{
    CenterText = "{page} of {total-pages}"
};

// Create html footer
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};

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

// Add header and footer
pdf.AddTextHeaders(textHeader);
pdf.AddHtmlFooters(htmlFooter);

pdf.SaveAs("pdfWithPageNumber.pdf");
$vbLabelText   $csharpLabel

Le PDF de sortie provenant du code ci-dessus est montré ci-dessous :

Vous pouvez également ajouter des en-têtes et des pieds de page avec des chaînes de caractères de remplacement de numéro de page directement dans les options de rendu du ChromePdfRenderer. Cette approche est utile lorsque vous travaillez avec options de rendu pour personnaliser votre sortie PDF.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-chromerenderer.cs
using IronPdf;

// Add header and footer to rendering options
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    CenterText = "{page} of {total-pages}"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};

string html = @"
    <h1>Hello World!</h1>
<div style='page-break-after: always;'/>
    <h1>2nd Page!</h1>";

// Render new PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

pdf.SaveAs("applyPageNumberWithRenderingOptions.pdf");
$vbLabelText   $csharpLabel

Lorsque vous travaillez avec des documents complexes, pensez à sauts de page et marges personnalisées pour vous assurer que les numéros de page s'affichent correctement.

Comment ajouter des numéros de page à des pages spécifiques uniquement?

<TODO : Ajouter une image ici -->

Avec IronPDF, vous pouvez contrôler l'emplacement des numéros de page. Faites-les démarrer sur une page spécifique ou appliquez-les à des groupes spécifiques tels que les pages indexées de façon homogène. Cette flexibilité est précieuse pour générer des rapports PDF ou travailler avec des documents contenant différentes sections.

Tout d'abord, préparez le document PDF pour appliquer les numéros de page :

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-preparation.cs
using IronPdf;
using System.Linq;
using System.Collections.Generic;

string multi_page_html = @"
    <p>This is the 1st Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 3rd Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 4th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 5th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 6th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 7th Page</p>";

// Create header
HtmlHeaderFooter header = new HtmlHeaderFooter()
{
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};

// Render PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(multi_page_html);

// Create a Page Range 0..6
var allPageIndices = Enumerable.Range(0, pdf.PageCount);
$vbLabelText   $csharpLabel

Comment numéroter les pages paires uniquement?

Sur la base de l'exemple précédent, ce code applique les numéros de page exclusivement aux index des pages paires. Le filtrage étant destiné aux index de pages paires, le PDF résultant présente des numéros sur les pages impaires. Les index de pages commencent à zéro, tandis que les numéros de page commencent à un. Cette technique convient aux documents respectant le formatage traditionnel des livres ou lorsque l'on travaille avec des documents PDF fusionnés.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-even-pages.cs
// Get even page indexes (resulting in odd page numbers)
var evenPageIndices = allPageIndices.Where(i => i % 2 == 0);

pdf.AddHtmlHeaders(header, 1, evenPageIndices);
pdf.SaveAs("EvenPages.pdf");
$vbLabelText   $csharpLabel

Comment numéroter les pages impaires uniquement?

Ajouter des numéros de page aux pages dont les numéros d'index sont impairs. Cette approche est courante dans les scénarios d'impression recto-verso où les numéros de page ne doivent apparaître que sur une seule face du document imprimé.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-odd-pages.cs
// Get odd page indexes (resulting in even page numbers)
var oddPageIndexes = allPageIndices.Where(i => i % 2 != 0);

pdf.AddHtmlHeaders(header, 1, oddPageIndexes);
pdf.SaveAs("OddPages.pdf");
$vbLabelText   $csharpLabel

Comment ajouter un numéro de page à la dernière page seulement?

Ajoutez un numéro de page uniquement à la dernière page. Elle est utile pour les pages de résumé ou pour indiquer la fin du document.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-last-page-only.cs
// Last page only
var lastPageIndex = new List<int>() { pdf.PageCount - 1 };

pdf.AddHtmlHeaders(header, 1, lastPageIndex);
pdf.SaveAs("LastPageOnly.pdf");
$vbLabelText   $csharpLabel

Comment ajouter un numéro de page à la première page seulement?

Ajoutez un numéro de page uniquement à la première page. Cette solution convient parfaitement aux pages de couverture ou aux documents dont seule la première page doit être identifiée.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-first-page-only.cs
// First page only
var firstPageIndex = new List<int>() { 0 };

pdf.AddHtmlHeaders(header, 1, firstPageIndex);
pdf.SaveAs("FirstPageOnly.pdf");
$vbLabelText   $csharpLabel

Comment sauter la première page lors de l'ajout de numéros de page ?

Sautez la première page lors de l'application de l'en-tête. Cette exigence commune s'applique aux documents comportant des pages de couverture ou de titre qui ne doivent pas afficher de numéros de page. Lorsque vous travaillez avec des formulaires PDF ou des documents comprenant une lettre de motivation, cette technique garantit une mise en forme professionnelle.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-skip-first-page.cs
// Skip the first page
var skipFirstPage = allPageIndices.Skip(1);

pdf.AddHtmlHeaders(header, 1, skipFirstPage);
pdf.SaveAs("SkipFirstPage.pdf");
$vbLabelText   $csharpLabel

Comment sauter la première page et commencer la numérotation à partir de 1 sur la deuxième page ?

Sautez la première page et commencez à numéroter à partir de la deuxième page, en la considérant comme la page 1. Cette approche convient aux documents pour lesquels la page de couverture ne doit pas compter dans la séquence de numérotation des pages, comme les documents universitaires ou les rapports formels.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-skip-first-page-and-dont-count-it.cs
// Skip the first page and start numbering the second page as page 1
var skipFirstPageAndDontCountIt = allPageIndices.Skip(1);

pdf.AddHtmlHeaders(header, 0, skipFirstPageAndDontCountIt);
pdf.SaveAs("SkipFirstPageAndDontCountIt.pdf");
$vbLabelText   $csharpLabel

Pour explorer toutes les options de métadonnées, visitez le Guide des en-têtes et pieds de page IronPDF.

Techniques avancées de numérotation des pages

Au-delà de la numérotation des pages de base, IronPDF prend en charge des scénarios avancés, notamment :

  • Numérotation par section : Différents schémas de numérotation pour différentes sections du document
  • Chiffres romains : Formatage personnalisé pour les pages de préface ou d'annexe
  • Systèmes de numérotation multiples : Combinaison de différents styles de numérotation dans un même document
  • Comptes de pages dynamiques : Mise à jour du nombre total de pages lors de l'ajout ou la copie de pages

Ces techniques sont précieuses pour la création de documents complexes tels que des manuels techniques, des articles universitaires ou des documents juridiques nécessitant des schémas de numérotation des pages sophistiqués.

Bonnes pratiques pour les numéros de page

Lorsque vous mettez en place des numéros de page dans vos PDF, tenez compte de ces pratiques :

  1. <Cohérence : Maintenir un positionnement et un formatage cohérents dans l'ensemble du document
  2. Lisibilité : Veiller à ce que les numéros de page soient clairement visibles et ne fassent pas double emploi avec le contenu
  3. Accessibilité : Utiliser des tailles de police et des contrastes appropriés pour faciliter la lecture
  4. Aspect professionnel : Adaptez le style des numéros de page à la conception générale de votre document

En suivant ces directives et en tirant parti des fonctionnalités flexibles de numérotation des pages d'IronPDF, vous pouvez créer des documents PDF professionnels et bien organisés répondant à vos exigences spécifiques.

Questions Fréquemment Posées

Comment ajouter des numéros de page de base à un PDF en C# ?

Avec IronPDF, vous pouvez ajouter des numéros de page en utilisant les chaînes de caractères génériques {page} et {total-pages} dans la classe TextHeaderFooter ou HtmlHeaderFooter. Il suffit d'inclure ces caractères de remplacement dans votre fragment HTML d'en-tête ou de pied de page, et IronPDF les remplacera automatiquement par le numéro de page actuel et le nombre total de pages lors du rendu du PDF.

Puis-je ajouter des numéros de page directement via les options de rendu ?

Oui, vous pouvez ajouter des numéros de page directement dans les options de rendu du ChromePdfRenderer d'IronPdf. Cette approche vous permet de définir des en-têtes et des pieds de page avec des chaînes de caractères de remplacement de numéro de page dans le cadre de la configuration du rendu, ce qui est particulièrement utile lorsque vous personnalisez la sortie PDF par le biais des options de rendu.

Quelles sont les chaînes de caractères de remplacement disponibles pour la numérotation des pages ?

IronPDF fournit deux chaînes de caractères principales pour la numérotation des pages : {page} affiche le numéro de la page en cours, et {total-pages} affiche le nombre total de pages du document. Ces caractères de remplacement sont automatiquement remplacés par des valeurs réelles lorsque le PDF est rendu.

Puis-je appliquer des numéros de page à des pages spécifiques uniquement ?

Oui, IronPDF vous permet de contrôler l'emplacement des numéros de page dans votre document. Vous pouvez spécifier quelles pages doivent afficher les numéros de page, ce qui vous permet de les exclure des pages de couverture ou de les appliquer uniquement à certaines sections de votre PDF.

Est-il possible de personnaliser l'emplacement et le style des numéros de page ?

Absolument. Avec la classe HtmlHeaderFooter d'IronPDF, vous pouvez personnaliser l'emplacement, le style et le formatage des numéros de page à l'aide de HTML et de CSS. Vous pouvez contrôler leur position, leur police, leur taille, leur couleur et même ajouter des lignes de séparation ou d'autres éléments décoratifs.

Puis-je ajouter des numéros de page à des documents PDF existants ?

Oui, IronPDF permet d'ajouter des numéros de page à la fois aux nouveaux PDF et aux documents PDF existants. Vous pouvez charger un document PDF existant et y appliquer des en-têtes ou des pieds de page avec des numéros de page sans avoir à recréer le document entier à partir de zéro.

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
Revu par
Jeff Fritz
Jeffrey T. Fritz
Responsable principal du programme - Équipe de la communauté .NET
Jeff est également responsable principal du programme pour les équipes .NET et Visual Studio. Il est le producteur exécutif de la série de conférences virtuelles .NET Conf et anime 'Fritz and Friends', une diffusion en direct pour développeurs qui est diffusée deux fois par semaine où il parle de technologie et écrit du code avec les téléspectateurs. Jeff écrit des ateliers, des présentations et prévoit du contenu pour les plus grands événements de développement Microsoft, y compris Microsoft Build, Microsoft Ignite, .NET Conf et le sommet Microsoft MVP
Prêt à commencer?
Nuget Téléchargements 17,012,929 | Version : 2025.12 vient de sortir