You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python docx中使用add_text()设置文本加粗的方法求助

解决Python-docx中add_text()无法设置文本加粗的问题

你这段代码里header_run.add_text(rml_header).bold=True不生效的原因很明确:add_text()返回的是Text对象,而文本的加粗格式(bold)是由该文本所属的Run对象控制的,Text对象本身没有设置格式的权限,所以直接给它赋值bold=True不会产生任何效果。

下面提供两种不需要改动add_text()函数的解决方法:

方法1:为加粗文本单独创建Run对象

把需要加粗的标题放在独立的Run中,先给这个Run设置bold=True,再用add_text()添加内容:

section = doc.sections[0]   # 获取文档节
sec_header = section.header   # 获取页眉
header_tp = sec_header.add_paragraph()  # 在页眉中添加段落

# 第一个Run用于放置图片
header_run = header_tp.add_run()
header_run.add_picture(logo_path, width=Inches(1.24), height=Inches(0.30))  # 添加图片

rml_header = "\t\t\t\t\t          Project completion report"
# 创建新的Run专门放置加粗标题
bold_run = header_tp.add_run()
bold_run.bold = True
bold_run.add_text(rml_header)

# 添加分隔线文本,可复用原有Run
header_run.add_text("\n_____________________________________________________________")
header_run.font.size = Pt(14)

方法2:临时切换当前Run的加粗状态

在添加加粗文本前,先将当前Run的bold设为True,添加完文本后再关闭加粗,避免后续文本被意外加粗:

section = doc.sections[0]   # 获取文档节
sec_header = section.header   # 获取页眉
header_tp = sec_header.add_paragraph()  # 在页眉中添加段落
header_run = header_tp.add_run()   # 在段落中添加Run
header_run.add_picture(logo_path, width=Inches(1.24), height=Inches(0.30))  # 添加图片

rml_header = "\t\t\t\t\t          Project completion report"
# 开启当前Run的加粗模式
header_run.bold = True
header_run.add_text(rml_header)
# 关闭加粗模式,确保后续文本不加粗
header_run.bold = False

header_run.add_text("\n_____________________________________________________________")
header_run.font.size = Pt(14)

内容的提问来源于stack exchange,提问作者ismail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 07:10:31