File size: 1,674 Bytes
8d6c767
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
"""
Formatadores de seções e orientação de página.
"""
from docx import Document
from docx.shared import Cm
from docx.enum.section import WD_ORIENT


def iniciar_secao_paisagem(doc: Document) -> None:
    """
    Adiciona uma nova seção com orientação paisagem.

    Args:
        doc: Documento DOCX
    """
    # Adicionar quebra de seção
    new_section = doc.add_section()

    # Configurar orientação paisagem
    new_section.orientation = WD_ORIENT.LANDSCAPE

    # Trocar largura e altura para paisagem
    new_width = new_section.page_height
    new_height = new_section.page_width
    new_section.page_width = new_width
    new_section.page_height = new_height

    # Ajustar margens para paisagem
    new_section.top_margin = Cm(2)
    new_section.bottom_margin = Cm(2)
    new_section.left_margin = Cm(2)
    new_section.right_margin = Cm(2)


def iniciar_secao_retrato(doc: Document) -> None:
    """
    Adiciona uma nova seção com orientação retrato.

    Args:
        doc: Documento DOCX
    """
    # Adicionar quebra de seção
    new_section = doc.add_section()

    # Configurar orientação retrato
    new_section.orientation = WD_ORIENT.PORTRAIT

    # Trocar largura e altura para retrato (se estava em paisagem)
    if new_section.page_width > new_section.page_height:
        new_width = new_section.page_height
        new_height = new_section.page_width
        new_section.page_width = new_width
        new_section.page_height = new_height

    # Margens padrão para retrato
    new_section.top_margin = Cm(2.5)
    new_section.bottom_margin = Cm(2.5)
    new_section.left_margin = Cm(3)
    new_section.right_margin = Cm(2)