实际上,要解决的问题有两个。首先是按照文档顺序遍历文档中的所有块级元素。第二个是按照它们出现的顺序遍历每个块元素中的所有内联元素。
python- docx尚不具备直接执行此操作所需的功能。但是,对于第一个问题,这里有一些示例代码可能对您有用:https : //github.com/python-openxml/python- docx/issues/40
我没有确切的对应对象来处理内联项目,但我希望您可以对parag.runs有所了解。所有内联内容将在一个段落中。如果您已掌握了大部分方法,而只是想获取图片或其他东西,则可以进入lxml级别并解码一些XML以获取所需的内容。如果您相处得很好并且仍然热衷,那么如果您在GitHub问题列表上发布功能请求,例如“功能:Paragraph.iter_inline_items()”,我可能会为您提供一些类似的代码来满足您的需求。
该要求有时会出现,因此我们肯定会在某个时候添加它。
请注意,块级项目(主要是段落和表)可以递归出现,因此需要一个通用解决方案。特别是,一个段落可以(实际上至少总是必须有一个段落)出现在表格单元格中。表格也可以出现在表格单元格中。因此,从理论上讲,它可以变得很深。递归函数/方法是解决所有这些问题的正确方法。