Настройка номеров страниц при добавлении содержания
В этом уроке мы рассмотрим, как настроить номера страниц при добавлении оглавления (TOC) с помощью Aspose.PDF для .NET. Мы предоставим пошаговые инструкции и пример кода, которые помогут вам в этом.
Шаг 1. Загрузка существующего PDF-файла
Сначала нам нужно загрузить существующий PDF-файл. В этом уроке мы будем использовать файл «42824.pdf», расположенный в каталоге «ВАШ ДОКУМЕНТНЫЙ КАТАЛОГ». Замените этот путь к каталогу фактическим путем к каталогу вашего документа.
string dataDir = "YOUR DOCUMENT DIRECTORY";
string inFile = dataDir + "42824.pdf";
string outFile = dataDir + "42824_out.pdf";
Document doc = new Document(inFile);
Шаг 2. Добавление страницы содержания
Далее нам нужно добавить новую страницу в начало документа, которая будет служить страницей содержания. Мы можем добиться этого, используяInsert()
методPages
коллекцияDocument
объект.
Aspose.Pdf.Page tocPage = doc.Pages.Insert(1);
Шаг 3. Создание объекта TOC
Чтобы создать объект TOC, нам сначала нужно создатьTocInfo
объект и установите его свойства. В этом уроке мы установим для заголовка оглавления значение «Содержание», а для префикса номера страницы — «P».
TocInfo tocInfo = new TocInfo();
TextFragment title = new TextFragment("Table Of Contents");
title.TextState.FontSize = 20;
title.TextState.FontStyle = FontStyles.Bold;
tocInfo.Title = title;
tocInfo.PageNumbersPrefix = "P";
tocPage.TocInfo = tocInfo;
Шаг 4. Создание записей оглавления
Чтобы создать записи оглавления, нам нужно просмотреть все страницы документа, кроме страницы оглавления, и создать объект заголовка для каждой страницы. Затем мы можем добавить объект заголовка на страницу содержания и указать его целевую страницу.
for (int i = 1; i < doc.Pages.Count; i++)
{
// Создать объект заголовка
Aspose.Pdf.Heading heading2 = new Aspose.Pdf.Heading(1);
TextSegment segment2 = new TextSegment();
heading2.TocPage = tocPage;
heading2.Segments.Add(segment2);
// Укажите целевую страницу для объекта заголовка
heading2.DestinationPage = doc.Pages[i + 1];
// Страница назначения
heading2.Top = doc.Pages[i + 1].Rect.Height;
// Координата назначения
segment2.Text = "Page " + i.ToString();
// Добавить заголовок на страницу, содержащую оглавление
tocPage.Paragraphs.Add(heading2);
}
Шаг 5: Сохранение обновленного документа
Наконец, нам нужно сохранить обновленный документ в новый файл. Мы можем добиться этого, используяSave()
методDocument
объект.
doc.Save(outFile);
Пример исходного кода для настройки номеров страниц при добавлении оглавления с использованием Aspose.PDF для .NET
string dataDir = "YOUR DOCUMENT DIRECTORY";
string inFile = dataDir + "42824.pdf";
string outFile = dataDir + "42824_out.pdf";
// Загрузить существующие PDF-файлы
Document doc = new Document(inFile);
// Получите доступ к первой странице PDF-файла
Aspose.Pdf.Page tocPage = doc.Pages.Insert(1);
// Создайте объект для представления информации TOC.
TocInfo tocInfo = new TocInfo();
TextFragment title = new TextFragment("Table Of Contents");
title.TextState.FontSize = 20;
title.TextState.FontStyle = FontStyles.Bold;
// Установите заголовок для оглавления
tocInfo.Title = title;
tocInfo.PageNumbersPrefix = "P";
tocPage.TocInfo = tocInfo;
for (int i = 1; i<doc.Pages.Count; i++)
{
// Создать объект заголовка
Aspose.Pdf.Heading heading2 = new Aspose.Pdf.Heading(1);
TextSegment segment2 = new TextSegment();
heading2.TocPage = tocPage;
heading2.Segments.Add(segment2);
// Укажите целевую страницу для объекта заголовка
heading2.DestinationPage = doc.Pages[i + 1];
// Страница назначения
heading2.Top = doc.Pages[i + 1].Rect.Height;
// Координата назначения
segment2.Text = "Page " + i.ToString();
// Добавить заголовок на страницу, содержащую оглавление
tocPage.Paragraphs.Add(heading2);
}
// Сохраните обновленный документ
doc.Save(outFile);
Заключение
В этом руководстве мы предоставили пошаговое руководство по настройке номеров страниц при добавлении оглавления с помощью Aspose.PDF для .NET. Мы также предоставили пример кода, который вы можете использовать в качестве справочного материала при реализации этой функции в своем приложении.
Часто задаваемые вопросы
Вопрос: Что такое оглавление (TOC) в PDF-документе?
О: Оглавление (TOC) в PDF-документе — это средство навигации, которое предоставляет организованный список разделов или глав документа вместе с соответствующими номерами страниц. Это позволяет читателям быстро переходить к определенным разделам документа.
Вопрос: Зачем мне настраивать номера страниц в оглавлении?
О: Настройка номеров страниц в оглавлении может быть полезна, если вы хотите использовать определенный формат нумерации страниц или включить дополнительную информацию вместе с номерами страниц. Это позволяет вам создать более персонализированное и информативное оглавление.
Вопрос: Могу ли я включить в оглавление гиперссылки на определенные разделы или страницы PDF-документа?
О: Да, Aspose.PDF для .NET позволяет создавать гиперссылки в оглавлении, которые ссылаются на определенные разделы или страницы PDF-документа. Это повышает интерактивность и навигацию по PDF-документу.
Вопрос: Совместим ли Aspose.PDF для .NET со стандартами PDF/A?
О: Да, Aspose.PDF для .NET поддерживает стандарты PDF/A, включая PDF/A-1, PDF/A-2 и PDF/A-3. Он позволяет создавать PDF-документы, соответствующие требованиям архивирования и долгосрочного хранения.
Вопрос: Могу ли я добавить к записям оглавления дополнительное форматирование, например стили шрифтов или цвета?
О: Да, вы можете добавить дополнительное форматирование к записям TOC, например стили, цвета и размеры шрифтов, используя Aspose.PDF для .NET. Это позволяет вам настроить внешний вид оглавления в соответствии с вашими требованиями.