C#/VB.NET : ajouter des numéros de page à des documents PDF existants

2023-08-18 05:43:21 zaki zou

Installé via NuGet

PM> Install-Package Spire.PDF

Les numéros de page sont essentiels pour les documents électroniques et papier. Ils permettent aux lecteurs de trouver plus facilement et d'accéder rapidement à des parties spécifiques d'un document sans avoir à parcourir page par page. Dans cet article, vous apprendrez à ajouter des numéros de page aux documents PDF existants en C# et VB.NET en utilisant Spire.PDF for .NET.

Installer Spire.PDF for .NET

Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.

PM> Install-Package Spire.PDF

Ajouter des numéros de page aux documents PDF existants à l'aide de C # et VB.NET

Vous pouvez ajouter des numéros de page à un document PDF à l'aide des champs dynamiques : PdfPageNumberField, PdfPageCountField et PdfCompositeField.

Comme leurs noms le suggèrent, le PdfPageNumberField est utilisé pour afficher le numéro de page, le PdfPageCountField est utilisé pour afficher le nombre total de pages et le PdfCompositeField est utilisé pour combiner deux ou plusieurs champs dynamiques tels que PdfPageNumberField et PdfPageCountField dans un seul champ.

Si vous souhaitez uniquement ajouter des numéros de page tels que Page 1, Page 2, Page 3… à un document PDF, vous pouvez simplement utiliser PdfPageNumberField. Si vous souhaitez ajouter des numéros de page comme Page X sur Y au document, vous devez utiliser PdfPageNumberField, PdfPageCountField et PdfCompositeField.

Les étapes suivantes vous montrent comment ajouter des numéros de page "Page X sur Y" à un document PDF existant :

  • Initialiser une instance de la classe PdfDocument.
  • Chargez un document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Initialisez une instance de la classe PdfPageNumberField.
  • Initialisez une instance de la classe PdfPageCountField.
  • Initialisez une instance de la classe PdfCompositeField.
  • Définissez l'alignement du texte pour le champ composite via la propriété PdfCompositeField.StringFormat.
  • Parcourez chaque page du document PDF, puis dessinez le champ composite à l'emplacement spécifique de la page à l'aide de la méthode PdfCompositeField.Draw().
  • Enregistrez le document de résultat à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.AutomaticFields;
    using Spire.Pdf.Graphics;
    using System.Drawing;
    
    
    namespace AddPageNumbers
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Load a PDF document
                PdfDocument pdf = new PdfDocument();
                pdf.LoadFromFile("Sample.pdf");
    
                //Create a true type font
                PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 10f, FontStyle.Regular), true);
    
                //Create a PdfPageNumberField instance
                PdfPageNumberField pageNumber = new PdfPageNumberField();
    
                //Create a PdfPageCountField instance
                PdfPageCountField pageCount = new PdfPageCountField();
    
                //Create a PdfCompositeField instance
                PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.Black, "Page {0} of {1}", pageNumber, pageCount);
                //Set the text alignment for the composite field
                compositeField.StringFormat = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top);
    
                //Loop through the pages
                for(int i = 0; i < pdf.Pages.Count; i ++)
                {
                    //Draw composite filed on each page
                    compositeField.Draw(pdf.Pages[i].Canvas, pdf.Pages[i].Size.Width / 2 - 20, pdf.Pages[i].Size.Height - pdf.PageSettings.Margins.Bottom);
                }
    
                //Save the result document
                pdf.SaveToFile("AddPageNumbers.pdf");
            }
        }
    }

C#/VB.NET: Add Page Numbers to Existing PDF Documents

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également