Trabalhando com Títulos em PDF

Aplicar Estilo de Numeração em Cabeçalhos

Cabeçalhos são partes importantes de qualquer documento. Os escritores sempre tentam tornar os cabeçalhos mais proeminentes e significativos para seus leitores. Se houver mais de um cabeçalho em um documento, um escritor tem várias opções para organizar esses cabeçalhos. Uma das abordagens mais comuns para organizar cabeçalhos é escrever cabeçalhos no Estilo de Numeração.

Aspose.PDF para Python via .NET oferece muitos estilos de numeração predefinidos. Esses estilos de numeração predefinidos são armazenados em uma enumeração, NumberingStyle. Os valores predefinidos da enumeração NumberingStyle e suas descrições são apresentados abaixo:

Tipos de Cabeçalhos Descrição
NumeralsArabic Tipo árabe, por exemplo, 1,1.1,…
NumeralsRomanUppercase Tipo romano maiúsculo, por exemplo, I,I.II, …
NumeralsRomanLowercase Tipo romano minúsculo, por exemplo, i,i.ii, …
LettersUppercase Tipo inglês maiúsculo, por exemplo, A,A.B, …

|LettersLowercase|Tipo inglês minúsculo, por exemplo, a,a.b, …| A propriedade style da classe Heading é usada para definir os estilos de numeração dos cabeçalhos.

Figura: Estilos de numeração predefinidos
O código-fonte, para obter a saída mostrada na figura acima, é fornecido abaixo no exemplo.

    import aspose.pdf as ap

    document = ap.Document()
    document.page_info.width = 612.0
    document.page_info.height = 792.0
    document.page_info.margin = ap.MarginInfo()
    document.page_info.margin.left = 72
    document.page_info.margin.right = 72
    document.page_info.margin.top = 72
    document.page_info.margin.bottom = 72

    page = document.pages.add()
    page.page_info.width = 612.0
    page.page_info.height = 792.0
    page.page_info.margin = ap.MarginInfo()
    page.page_info.margin.left = 72
    page.page_info.margin.right = 72
    page.page_info.margin.top = 72
    page.page_info.margin.bottom = 72

    float_box = ap.FloatingBox()
    float_box.margin = page.page_info.margin

    page.paragraphs.add(float_box)

    heading = ap.Heading(1)
    heading.is_in_list = True
    heading.start_number = 1
    heading.text = "Lista 1"
    heading.style = ap.NumberingStyle.NUMERALS_ROMAN_LOWERCASE
    heading.is_auto_sequence = True

    float_box.paragraphs.add(heading)

    heading2 = ap.Heading(1)
    heading2.is_in_list = True
    heading2.start_number = 13
    heading2.text = "Lista 2"
    heading2.style = ap.NumberingStyle.NUMERALS_ROMAN_LOWERCASE
    heading2.is_auto_sequence = True

    float_box.paragraphs.add(heading2)

    heading3 = ap.Heading(2)
    heading3.is_in_list = True
    heading3.start_number = 1
    heading3.text = "o valor, na data efetiva do plano, da propriedade a ser distribuída sob o plano em relação a cada permitido"
    heading3.style = ap.NumberingStyle.LETTERS_LOWERCASE
    heading3.is_auto_sequence = True

    float_box.paragraphs.add(heading3)
    document.save(output_pdf)