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

2023-08-18 05:46:56 zaki zou

Instalado a través de NuGet

PM> Install-Package Spire.PDF

enlaces relacionados

Los números de página son esenciales tanto para documentos electrónicos como en papel. Facilitan a los lectores la búsqueda y el acceso rápido a partes específicas de un documento sin tener que navegar página por página. En este artículo, aprenderá cómo agregue números de página a documentos PDF existentes en C# y VB.NET usando Spire.PDF for .NET.

Instalar Spire.PDF for .NET

Para empezar, debe agregar los archivos DLL incluidos en el paquete Spire.PDF for .NET como referencias en su proyecto .NET. Los archivos DLL se pueden descargar desde este enlace o instalado a través de NuGet.

PM> Install-Package Spire.PDF

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

Puede agregar números de página a un documento PDF utilizando los campos dinámicos: PdfPageNumberField, PdfPageCountField y PdfCompositeField.

Como sugieren sus nombres, PdfPageNumberField se usa para mostrar el número de página, PdfPageCountField se usa para mostrar el recuento total de páginas y PdfCompositeField se usa para combinar dos o más campos dinámicos como PdfPageNumberField y PdfPageCountField en un solo campo.

Si solo desea agregar números de página como Página 1, Página 2, Página 3... a un documento PDF, puede usar PdfPageNumberField. Si desea agregar números de página como Página X de Y al documento, debe usar PdfPageNumberField, PdfPageCountField y PdfCompositeField.

Los siguientes pasos le muestran cómo agregar números de página "Página X de Y" a un documento PDF existente:

  • Inicialice una instancia de la clase PdfDocument.
  • Cargue un documento PDF usando el método PdfDocument.LoadFromFile().
  • Inicialice una instancia de la clase PdfPageNumberField.
  • Inicialice una instancia de la clase PdfPageCountField.
  • Inicialice una instancia de la clase PdfCompositeField.
  • Establezca la alineación del texto para el campo compuesto a través de la propiedad PdfCompositeField.StringFormat.
  • Recorra cada página en el documento PDF, luego dibuje el campo compuesto en la ubicación específica de la página usando el método PdfCompositeField.Draw().
  • Guarde el documento de resultados utilizando el 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 una Licencia Temporal

Si desea eliminar el mensaje de evaluación de los documentos generados o deshacerse de las limitaciones de la función, por favor solicitar una licencia de prueba de 30 días para ti.

Ver también