C#/VB.NET: Adicionar números de página a documentos PDF existentes

2023-08-18 05:53:07

Instalado via NuGet

PM> Install-Package Spire.PDF

Links Relacionados

Os números de página são essenciais para documentos eletrônicos e em papel. Eles tornam mais fácil para os leitores encontrar e acessar partes específicas de um documento rapidamente, sem ter que navegar página por página. Neste artigo, você aprenderá como adicione números de página a documentos PDF existentes em C# e VB.NET usando Spire.PDF for .NET.

Instalar o Spire.PDF for .NET

Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.PDF for.NET como referências em seu projeto .NET. Os arquivos DLLs podem ser baixados deste link ou instalados via NuGet.

PM> Install-Package Spire.PDF

Adicionar números de página a documentos PDF existentes usando C# e VB.NET

Você pode adicionar números de página a um documento PDF usando os campos dinâmicos: PdfPageNumberField, PdfPageCountField e PdfCompositeField.

Como seus nomes sugerem, o PdfPageNumberField é usado para exibir o número da página, o PdfPageCountField é usado para exibir a contagem total de páginas e o PdfCompositeField é usado para combinar dois ou mais campos dinâmicos, como PdfPageNumberField e PdfPageCountField em um único campo.

Se você deseja apenas adicionar números de página como Página 1, Página 2, Página 3… a um documento PDF, basta usar PdfPageNumberField. Se você deseja adicionar números de página como Página X de Y ao documento, você precisa usar PdfPageNumberField, PdfPageCountField e PdfCompositeField.

As etapas a seguir mostram como adicionar números de página "Página X de Y" a um documento PDF existente:

  • Inicialize uma instância da classe PdfDocument.
  • Carregue um documento PDF usando o método PdfDocument.LoadFromFile().
  • Inicialize uma instância da classe PdfPageNumberField.
  • Inicialize uma instância da classe PdfPageCountField.
  • Inicialize uma instância da classe PdfCompositeField.
  • Defina o alinhamento do texto para o campo composto por meio da propriedade PdfCompositeField.StringFormat.
  • Percorra cada página no documento PDF e desenhe o campo composto no local específico da página usando o método PdfCompositeField.Draw().
  • Salve o documento resultante usando o método 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

Solicitar uma licença temporária

Se você deseja remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também