网上找了一遍,有三种答案:
1、多级编号的样式,python-docx还没有开发;
2、python-docx生成多级编号数字列表 - Dr.P+P - 博客园 (cnblogs.com)
3、python docx-如何编号标题? - Python社区 (python88.com) 这个答案的源头在stackoverflow
按照答案2和3尝试,都没有成功。后来,自己想了一种方法,成功。步骤如下:
1、先建立一个含有标题多级编号的docx文档作为默认文档,比如module_default.docx,module_default.docx的内容如下:
- Heading1
- Heading2
- Heading3
- Heading2
2、在代码中,从module_default.docx创建文档,
document = Document('default_module.docx')
这样,再使用以下命令创建标题时,就含有多级编号了。
T1 = document.add_heading('', level=1)
T2 = document.add_heading('', level=2)
T3 = document.add_heading('', level=3)
注意:使用document = Document('default_module.docx')生成的文档,在文档的起始会含有default_module.docx文档的内容,如何解决呢?
document = Document('default_module.docx')
document._body.clear_content()
调用document._body.clear_content()后,模板中原有的内容就被清除了。
存在的问题:多级编号的颜色,一直呈现为浅蓝色,即时在module_default.docx中设置为黑色,仍然改不过来。