如何在python-docx中同时设置文本加粗与居中对齐?
解决python-docx同时设置文本加粗与段落居中的问题
嘿,这个问题其实很好解决——你只需要搞清楚paragraph(段落)和run(文本块)各自负责的样式范围就行!
你之前的代码里,加粗是设置在run对象上(因为这是文本级别的样式),而居中对齐是设置在paragraph对象上(这是段落级别的排版),只要把这两个操作结合到同一个段落上就可以啦。
给你完整的实现代码:
from docx import Document from docx.shared import Pt from docx.enum.text import WD_ALIGN_PARAGRAPH # 初始化文档 document = Document() # 1. 添加一个空段落,获取段落对象 paragraph = document.add_paragraph() # 2. 给这个段落添加文本run,并设置文本样式(加粗、字号) text_run = paragraph.add_run('test word') text_run.font.size = Pt(16) text_run.bold = True # 3. 设置段落的居中对齐 paragraph.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER # 保存文档 document.save('formatted_document.docx')
简单解释下:
paragraph对象管的是整个段落的排版,比如对齐方式、行距这些;run对象管的是段落里具体文本的样式,比如加粗、字号、颜色这些。
把两者的设置分开操作,就能同时实现你想要的效果了。
内容的提问来源于stack exchange,提问作者run_run




