如何使用python获取Word文档中表格和图像的有序列表?

时间:2018-08-25 10:46:31

标签: python docx python-docx

我必须从docx文件中检索表和上一张/下一张图像,但是无法想象如何使用python来获得它。

据我所知,我们可以使用document.tables获取表列表,但是我们无法使用python-docx获取docx中的图像列表。

我如何获得像这样的文档元素的有序列表

[
Image1,
Image2,
Table1,
Image3,
Table3,
Image4,
...
]?

1 个答案:

答案 0 :(得分:0)

来自python-docx文档:

  

从概念上讲,Word文档具有两层,即文本层和图形层。在文本层中,文本对象从左到右,从上到下流动,在上一个页面被填充时开始一个新页面。在图形层中,将图形对象(称为形状)放置在任意位置。这些有时被称为浮动形状。

     

图片是可以出现在文本或绘图层中的形状。当它出现在文本图层中时,它称为嵌入式形状,或更具体地说,称为嵌入式图片。

     

[...]在撰写本文时,python-docx仅支持嵌入式图片。

TLDR:仅当图片在文本层上时,您才能获取它们。您可以使用docx.document.inline_shapes来返回InlineShape objects。您可以检查这些InlineShape对象是否是具有其type属性的图像。