Python docx库文本对齐
我正在使用python的docx库来处理Word文档。但是我找不到怎么把文档中的一行文字居中对齐。我在谷歌上也没找到相关的信息。
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中对齐文字呢?
3 个回答
0
如果你想把标题部分对齐到文档的中间,你需要先把文档的引用存到一个变量里,像这样:
d1 = document.add_heading('PCM_Requirement Document', 0)
d1.alignment = 1
而段落的引用只适用于段落部分,不适用于标题部分。
4
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), ...
想要了解更多,可以查看这个参考链接,里面有关于段落的定义和文档说明。
14
在新的 python-docx 0.7 版本中,增加了一个新功能 #51:可以设置段落的对齐方式(读/写)。现在你可以像这里这样对齐段落: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 代表右对齐。
根据评论的第二次编辑
你不应该直接写这些神秘的数字。应该使用 WD_ALIGN_PARAGRAPH.CENTER
来获取居中的正确值,等等。要做到这一点,你需要使用以下的导入语句:
from docx.enum.text import WD_ALIGN_PARAGRAPH