Настройка номеров страниц при добавлении содержания

В этом уроке мы рассмотрим, как настроить номера страниц при добавлении оглавления (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. Это позволяет вам настроить внешний вид оглавления в соответствии с вашими требованиями.