Python-docx一个相对简单的添加多级编号的方式

在网上搜索了不少方式,感觉问题被复杂化了,自己研究了下捣鼓出来一个相对简单的做法,记录分享下。

代码不重要,简单写一下:

from docx import Document

doc = Document("module.docx")

doc._body.clear_content()

doc.add_heading("段落1",level=1)

doc.add_heading("段落2",level=2)

doc.add_heading("段落3",level=1)

doc.add_heading("段落4",level=2)

doc.add_heading("段落5",level=2)

doc.add_heading("段落6",level=3)

doc.save("result.docx")

这个方法的重点在于打开时套用的模板module.docx,这个模板打开后,在代码中编辑的doc文档就会自动套用模板中设置好的样式(比如代码里的add_heading,套用的分别是标题123),而这些样式是可以在WPS或者Word里面手动修改的。

接下来是修改方式:

1.创建一个module.docx,打开。

2.右键点击工具栏里的样式,这里以标题123为例,因为python-docx里可以直接简单调用预设好名称的样式。点击修改样式。

3.在打开的样式修改窗口中找到编号界面。

4.注意选择编号的时候要选择相同的编号,否则编号无法层层链接。选好之后自定义。

5.点击高级按钮展开后,设置需要的级别,这里是第一个重点,要将级别链接到你选择的样式,这里以标题1为例。

6.然后是子级编号的设置,要额外设置一项,如下图。不设置的话,即使跨父节点了也不会重置编号。

7.其它要设置的样式都设置好,然后保存文档即可。运行代码效果如下图所示:

如果我没理解错的话,其实所有样式都可以通过类似的方式在Word或者WPS里设置好然后读取样式名称来调用。直接设置好模板中的样式然后套现成恐怕比在代码里设置各种类似于字体段落缩进之类的参数会方便很多吧。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值