Alinhamento de texto da biblioteca Python docx
-
21-12-2019 - |
Pergunta
Estou usando a biblioteca python docx para manipular um documento do Word.Porém não consigo encontrar como alinhar uma linha ao centro na página de documentos dessa biblioteca.Também não consigo encontrar pelo Google.
from docx import Document
document = Document()
p = document.add_paragraph('A plain paragraph having some ')
p.add_run('bold').bold = True
p.add_run(' and some ')
p.add_run('italic.').italic = True
Como posso alinhar o texto no docx?
Solução
Com a nova versão do python-docx 0.7 https://github.com/python-openxml/python-docx/commit/158f2121bcd2c58b258dec1b83f8fef15316de19Adicione o recurso nº 51:Parágrafo.alignment (leia/write) Agora é possível alinhar um parágrafo como aqui: http://python-docx.readthedocs.org/en/latest/dev/análise/features/par-alignment.html
paragraph = document.add_paragraph("This is a text")
paragraph.alignment = 0 # for left, 1 for right, 2 center, 3 justify ....
editar a partir de comentários
na verdade é 0 para esquerda, 1 para centro, 2 para direita
editar 2 dos comentários
Você não deve codificar números mágicos como este.Usar WD_ALIGN_PARAGRAPH.CENTER
para obter o valor correto para centralização, etc.Para fazer isso, use a seguinte importação
from docx.enum.text import WD_ALIGN_PARAGRAPH
Outras dicas
p = document.add_paragraph('A plain paragraph having some ',style='BodyText', breakbefore=False, jc='left')# @param string jc: Paragraph alignment, possible values:left, center, right, both (justified), ...
para referência veja isto referência no parágrafo def leia a documentação