如何在python-docx中将paragraph_styles从一个文档复制到另一个文档?

时间:2018-03-27 11:54:13

标签: python-docx

我正在使用模板文件,该文件缺少WD_STYLE_TYPE.PARAGRAPH中的一些基本样式类型。
如果我列出模板中包含的所有样式WD_STYLE_TYPE.PARAGRAPH我得到

Normal
header
footer
Matrix Text
Body Text
toc1
Body
Balloon Text
Caption
annotation text
annotation subject
Body Text Indent
EY Document title
footnote text
EY Body text (with para space)
List Paragraph

为了解决这个问题,我创建了一个空白的Document对象,并根据WD_STYLE_TYPE.PARAGRAPH的默认样式类型构建了一个paragraph_styles列表对象。这给了我以下样式类型

Normal
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Heading 7
Heading 8
Heading 9
No Spacing
Title
Subtitle
List Paragraph
Body Text
Body Text 2
Body Text 3
List
List 2
List 3
List Bullet
List Bullet 2
List Bullet 3
List Number
List Number 2
List Number 3
List Continue
List Continue 2
List Continue 3
macro
Quote
Caption
Intense Quote
TOC Heading

我想要的样式是'List Bullet',但我似乎无法将temp文档中的样式添加到基于模板的主文档中

1 个答案:

答案 0 :(得分:0)

请务必阅读并理解文档中的此页面:
http://python-docx.readthedocs.io/en/latest/user/styles-understanding.html

紧接着它的这个:
http://python-docx.readthedocs.io/en/latest/user/styles-using.html

基本上,您向模板添加具有所需样式的段落,然后删除该段落,然后保存模板。

将段落设置为"潜在"样式(如ListBullet)会将该样式添加到文档中。删除段落时,样式仍然存在。保存文档时,该样式可用于以后将其用作模板的文档。