带有“列表段落”的python-docx样式错误

问题描述 投票:0回答:1

我正在使用python-docx将Word docx文件转换为专有XML格式。

我在使用项目符号/枚举列表时遇到麻烦。在许多Word文档中,当我使用python-docx打开它们并查看项目符号/枚举列表的段落样式时,列表中的某些项目将为“列表段落”,但其中许多将为“普通”。

假设它们都应该是'List Paragraph',有没有一种方法可以验证这是否与Word文档或python-docx包有关?

而且,当段落样式不是应有的样式时,是否有办法识别这些项目符号/数字?例如。使用paragraph_format

docx python-docx
1个回答
0
投票

项目符号可以至少两种不同的方式出现在Word中的段落上:

  1. 用户应用段落样式,例如“列表段落”
  2. 用户可能使用工具栏上的项目符号按钮,将项目符号直接应用于段落。

我怀疑用户倾向于陷入这两种习惯之一。始终使用样式可以使您只需修改样式即可调整所有这些段落的格式。但是我怀疑98%以上的用户养成了“单击项目符号按钮”的习惯。

无论如何,以这种方式找到混合在一起的文档不足为奇。

[不幸的是,python-docx当前不支持直接应用的项目符号,无论是应用它们还是对其进行检测。

[如果您具有检查段落XML的技能(print(paragraph._p.xml)是开始),那么您可能可以在paragraph._p(段落的基础XML元素)上使用XPath表达式来检测它是否具有相信是<w:bu>元素,这表明它具有直接应用的项目符号。检查已知有直接应用项目符号的段落的XML,应会为您提供在那里要查找的内容的详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.