Выравнивание текста библиотеки Python docx

Я использую библиотеку python docx для управления текстовым документом. Однако я не могу найти, как выровнять линию по центру на странице документов этой библиотеки. Я тоже не могу найти в гугле.

    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

Как выровнять текст в docx?


person Levent Altunöz    schedule 04.06.2014    source источник
comment
Мне все еще не удалось найти решение для выравнивания текста в python-docx.   -  person Levent Altunöz    schedule 05.06.2014


Ответы (2)


С новой версией python-docx 0.7 https://github.com/python-openxml/python-docx/commit/158f2121bcd2c58b258dec1b83f8fef15316de19 Добавить функцию # 51: Paragraph.alignment (чтение / запись) Теперь можно выровнять абзац, как здесь: http://python-docx.readthedocs.org/en/latest/dev/analysis/features/par-alignment.html

 paragraph = document.add_paragraph("This is a text")
 paragraph.alignment = 0 # for left, 1 for center, 2 right, 3 justify ....

редактировать из комментариев

на самом деле это 0 для левого, 1 для центра, 2 для правого

отредактировать 2 из комментариев

Вы не должны жестко кодировать такие магические числа. Используйте WD_ALIGN_PARAGRAPH.CENTER, чтобы получить правильное значение для центрирования и т. Д. Для этого используйте следующий импорт

from docx.enum.text import WD_ALIGN_PARAGRAPH 
person Levent Altunöz    schedule 01.07.2014
comment
на самом деле это 0 для левого, 1 для центра, 2 для правого - person blissini; 28.03.2015
comment
Вы не должны жестко кодировать такие магические числа. Используйте WD_ALIGN_PARAGRAPH.CENTER, чтобы получить правильное значение для центрирования и т. Д. Для этого используйте следующий импорт: from docx.enum.text import WD_ALIGN_PARAGRAPH - person André C. Andersen; 01.11.2015

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), ...

для справки см. этот справочник в разделе def прочтите документацию

person sundar nataraj    schedule 04.06.2014
comment
Спасибо, но add_paragraph () получил неожиданный аргумент ключевого слова 'jc'. - person Levent Altunöz; 04.06.2014