Работа с заголовками в PDF

Применение стиля нумерации в заголовке

Заголовки являются важными частями любого документа. Авторы всегда стараются сделать заголовки более заметными и значимыми для читателей. Если в документе несколько заголовков, у автора есть несколько способов их упорядочить. Один из наиболее распространённых подходов к упорядочиванию заголовков — это написание заголовков со стилем нумерации.

Aspose.PDF for .NET предлагает множество предустановленных стилей нумерации. Эти предустановленные стили хранятся в перечислении NumberingStyle. Предустановленные значения перечисления NumberingStyle и их описания приведены ниже:

Типы заголовков Описание
Арабские цифры Арабский тип, например, 1,1.1,…
Римские цифры (прописные) Римский верхний тип, например, I,I.II, …
Римские цифры (строчные) Римский нижний тип, например, i,i.ii, …
Буквы (прописные) Английский верхний тип, например, A,A.B, …
Буквы (строчные) Английский нижний тип, например, a,a.b, …

Свойство Style класса Aspose.Pdf.Heading используется для установки стилей нумерации заголовков.

Рисунок: Предустановленные стили нумерации

Исходный код для получения вывода, показанного на рисунке выше, приведён ниже в примере. Следующий фрагмент кода также работает с библиотекой Aspose.Drawing.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ApplyNumberStyleToPdf()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        document.PageInfo.Width = 612.0;
        document.PageInfo.Height = 792.0;
        document.PageInfo.Margin = new Aspose.Pdf.MarginInfo();
        document.PageInfo.Margin.Left = 72;
        document.PageInfo.Margin.Right = 72;
        document.PageInfo.Margin.Top = 72;
        document.PageInfo.Margin.Bottom = 72;

        // Add page
        var pdfPage = document.Pages.Add();
        pdfPage.PageInfo.Width = 612.0;
        pdfPage.PageInfo.Height = 792.0;
        pdfPage.PageInfo.Margin = new Aspose.Pdf.MarginInfo();
        pdfPage.PageInfo.Margin.Left = 72;
        pdfPage.PageInfo.Margin.Right = 72;
        pdfPage.PageInfo.Margin.Top = 72;
        pdfPage.PageInfo.Margin.Bottom = 72;

        // Create a floating box with the same margin as the page
        var floatBox = new Aspose.Pdf.FloatingBox();
        floatBox.Margin = pdfPage.PageInfo.Margin;

        // Add the floating box to the page
        pdfPage.Paragraphs.Add(floatBox);

        // Add headings with numbering styles
        var heading = new Aspose.Pdf.Heading(1);
        heading.IsInList = true;
        heading.StartNumber = 1;
        heading.Text = "List 1";
        heading.Style = Aspose.Pdf.NumberingStyle.NumeralsRomanLowercase;
        heading.IsAutoSequence = true;
        floatBox.Paragraphs.Add(heading);

        var heading2 = new Aspose.Pdf.Heading(1);
        heading2.IsInList = true;
        heading2.StartNumber = 13;
        heading2.Text = "List 2";
        heading2.Style = Aspose.Pdf.NumberingStyle.NumeralsRomanLowercase;
        heading2.IsAutoSequence = true;
        floatBox.Paragraphs.Add(heading2);

        var heading3 = new Aspose.Pdf.Heading(2);
        heading3.IsInList = true;
        heading3.StartNumber = 1;
        heading3.Text = "the value, as of the effective date of the plan, of property to be distributed under the plan on account of each allowed";
        heading3.Style = Aspose.Pdf.NumberingStyle.LettersLowercase;
        heading3.IsAutoSequence = true;
        floatBox.Paragraphs.Add(heading3);

        // Save PDF document
        document.Save(dataDir + "ApplyNumberStyle_out.pdf");
    }
}