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

如何使用Python在MS Word中生成可点击的目录?

用Python实现Word可点击目录生成

1. 安装依赖库

首先需要安装操作Word文档的python-docx库,执行命令:

pip install python-docx

2. 创建带规范标题的文档

生成目录的前提是文档中的标题使用了Word内置的标题样式,用python-docx可以直接添加对应层级的标题:

from docx import Document

# 初始化文档对象
doc = Document()

# 添加不同层级的标题(对应手动操作里的标题文本)
doc.add_heading('一级标题示例', level=1)
doc.add_paragraph('这是一级标题下的正文内容。')
doc.add_heading('二级标题示例', level=2)
doc.add_paragraph('这是二级标题下的正文内容。')
doc.add_heading('另一个一级标题', level=1)
doc.add_paragraph('这是另一组一级标题下的正文内容。')

# 先保存带标题的基础文档
doc.save('带标题的文档.docx')

3. 插入可点击目录

python-docx本身不直接生成目录,但可以通过插入Word域代码实现,打开文档后Word会自动识别并渲染可点击目录:

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

doc = Document('带标题的文档.docx')

# 在文档开头插入目录标题
title_paragraph = doc.add_paragraph('目录')
title_paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER

# 插入目录域代码,生成1-3级可点击目录
dir_run = doc.add_paragraph().add_run()
dir_run.text = r'^d TOC \o "1-3" \h \z \u'
dir_run.font.hidden = True  # 隐藏域代码,仅显示目录内容

# 保存最终文档
doc.save('带可点击目录的文档.docx')

注意事项

  • 打开生成的文档后,右键点击目录选择「更新域」→「更新整个目录」,即可看到可点击的跳转效果
  • 必须使用add_heading并指定正确的level参数,否则目录无法识别标题

手动操作时,我们需要先创建一些标题文本,然后在「引用」选项卡下生成可点击的目录,但我不清楚如何用Python实现这一操作。
输入图片描述

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:45:23