Spaces:
Sleeping
Sleeping
| """ | |
| Formatadores de títulos e seções. | |
| """ | |
| from docx import Document | |
| from docx.enum.text import WD_ALIGN_PARAGRAPH | |
| from .paragraph import criar_paragrafo_formatado | |
| def add_heading_custom(doc: Document, text: str, level: int = 1): | |
| """Adiciona título customizado.""" | |
| configs = { | |
| 1: {'tamanho': 14, 'antes': 18, 'depois': 12}, | |
| 2: {'tamanho': 12, 'antes': 12, 'depois': 6}, | |
| } | |
| cfg = configs.get(level, {'tamanho': 11, 'antes': 6, 'depois': 6}) | |
| return criar_paragrafo_formatado( | |
| doc, text, negrito=True, sublinhado=True, tamanho=cfg['tamanho'], | |
| espaco_antes=cfg['antes'], espaco_depois=cfg['depois'], | |
| alinhamento=WD_ALIGN_PARAGRAPH.LEFT | |
| ) | |
| def add_section_title(doc: Document, number: str, text: str): | |
| """Adiciona título de seção principal (ex: 1. SOLICITAÇÃO).""" | |
| return criar_paragrafo_formatado( | |
| doc, f"{number}. {text}", negrito=True, tamanho=12, | |
| espaco_antes=18, espaco_depois=12, alinhamento=WD_ALIGN_PARAGRAPH.LEFT | |
| ) | |
| def add_subsection_title(doc: Document, number: str, text: str): | |
| """Adiciona título de subseção (ex: 1.1 Considerações).""" | |
| return criar_paragrafo_formatado( | |
| doc, f"{number} {text}", negrito=True, tamanho=11, | |
| espaco_antes=12, espaco_depois=6, recuo_esq=0.3, | |
| alinhamento=WD_ALIGN_PARAGRAPH.LEFT | |
| ) | |
| def add_subsubsection_title(doc: Document, number: str, text: str): | |
| """Adiciona título de sub-subseção (ex: 3.2.1).""" | |
| return criar_paragrafo_formatado( | |
| doc, f"{number} {text}", negrito=True, tamanho=11, | |
| espaco_antes=10, espaco_depois=4, recuo_esq=0.5, | |
| alinhamento=WD_ALIGN_PARAGRAPH.LEFT | |
| ) | |
| def add_subsubsubsection_title(doc: Document, number: str, text: str): | |
| """Adiciona título de sub-sub-subseção (ex: 3.2.1.1).""" | |
| return criar_paragrafo_formatado( | |
| doc, f"{number} {text}", negrito=True, tamanho=10, | |
| espaco_antes=8, espaco_depois=4, recuo_esq=0.7, | |
| alinhamento=WD_ALIGN_PARAGRAPH.LEFT | |
| ) | |