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

如何用python-docx实现文本按宽度对齐?对齐常量选择疑问

Python-docx 实现文本按宽度对齐的解决方案

在python-docx>=1.1.0版本中,要实现文本按宽度对齐(即让段落内所有行都撑满指定宽度的对齐效果),你需要使用WD_PARAGRAPH_ALIGNMENT.JUSTIFY_HI这个常量。

为什么之前尝试的常量无效?

  • WD_PARAGRAPH_ALIGNMENT.DISTRIBUTE:主要针对东亚字符设计,对纯西文或混合文本的宽度对齐效果不符合常规需求
  • 以JUSTIFY_为前缀的其他常量(如JUSTIFY_LOW):属于常规两端对齐,仅对段落中非最后一行的文本进行撑满处理,最后一行会保持左对齐,无法实现全段按宽度对齐的目标

代码示例

from docx import Document
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

# 创建文档对象
doc = Document()
# 添加需要对齐的段落
paragraph = doc.add_paragraph("这是一段需要按宽度对齐的示例文本,无论内容长短,所有行都会被调整为撑满整个段落的宽度。")
# 设置宽度对齐
paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.JUSTIFY_HI
# 保存文档
doc.save("width_aligned_doc.docx")

补充说明

如果你的文档包含中文等东亚字符,若对齐效果仍不理想,可以尝试调整段落的字符间距,但核心的对齐控制常量依然是JUSTIFY_HI。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:09:54