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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top