Оглавление
Установлено через NuGet
PM> Install-Package Spire.PDF
Ссылки по теме
Номера страниц важны как для электронных, так и для бумажных документов. Они облегчают читателям быстрый поиск и доступ к определенным частям документа без необходимости просматривать страницу за страницей. В этой статье вы узнаете, как добавить номера страниц в существующие документы PDF на C# и VB.NET используя Spire.PDF for .NET.
Установите Spire.PDF for .NET
Для начала вам нужно добавить файлы DLL, включенные в пакет Spire.PDF for .NET, в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить по этой ссылке или установить через NuGet.
PM> Install-Package Spire.PDF
Добавление номеров страниц в существующие PDF-документы с помощью C# и VB.NET
Вы можете добавить номера страниц в документ PDF, используя динамические поля: PdfPageNumberField, PdfPageCountField и PdfCompositeField.
Как следует из их названий, PdfPageNumberField используется для отображения номера страницы, PdfPageCountField используется для отображения общего количества страниц, а PdfCompositeField используется для объединения двух или более динамических полей, таких как PdfPageNumberField и PdfPageCountField, в одно поле.
Если вы хотите добавить только номера страниц, такие как страница 1, страница 2, страница 3… в документ PDF, вы можете просто использовать PdfPageNumberField. Если вы хотите добавить в документ номера страниц, такие как страница X или Y, вам необходимо использовать PdfPageNumberField, PdfPageCountField и PdfCompositeField.
Следующие шаги показывают, как добавить номера страниц «Страница X из Y» в существующий документ PDF:
- Инициализировать экземпляр класса PdfDocument.
- Загрузите документ PDF с помощью метода PdfDocument.LoadFromFile().
- Инициализировать экземпляр класса PdfPageNumberField.
- Инициализировать экземпляр класса PdfPageCountField.
- Инициализировать экземпляр класса PdfCompositeField.
- Задайте выравнивание текста для составного поля через свойство PdfCompositeField.StringFormat.
- Прокрутите каждую страницу в документе PDF, затем нарисуйте составное поле в определенном месте страницы, используя метод PdfCompositeField.Draw().
- Сохраните результирующий документ с помощью метода 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"); } } }
Подать заявку на временную лицензию
Если вы хотите удалить оценочное сообщение из сгенерированных документов или избавиться от функциональных ограничений, пожалуйста запросить 30-дневную пробную лицензию для себя.