我必须从docx
文件中检索表和上一张/下一张图像,但是无法想象如何使用python
来获得它。
据我所知,我们可以使用document.tables
获取表列表,但是我们无法使用python-docx
获取docx中的图像列表。
我如何获得像这样的文档元素的有序列表
[
Image1,
Image2,
Table1,
Image3,
Table3,
Image4,
...
]?
答案 0 :(得分:0)
来自python-docx文档:
从概念上讲,Word文档具有两层,即文本层和图形层。在文本层中,文本对象从左到右,从上到下流动,在上一个页面被填充时开始一个新页面。在图形层中,将图形对象(称为形状)放置在任意位置。这些有时被称为浮动形状。
图片是可以出现在文本或绘图层中的形状。当它出现在文本图层中时,它称为嵌入式形状,或更具体地说,称为嵌入式图片。
[...]在撰写本文时,python-docx仅支持嵌入式图片。
TLDR:仅当图片在文本层上时,您才能获取它们。您可以使用docx.document.inline_shapes来返回InlineShape objects。您可以检查这些InlineShape对象是否是具有其type
属性的图像。