在处理Word文档时,经常会遇到需要从文档中提取图片的情况。例如,获取文档中的所有图片,然后将它们保存为文件,以便在其他地方使用。Python-docx库提供了直接的接口来访问Word文档中的图片,这使得从文档中提取图片变得非常简单。
首先需要了解的是,Word文档中的图片被嵌入段落中。每个段落都可以包含多个“运行”,“运行”可以包含文本或图片。所以,为了提取图片,需要遍历文档的所有段落和运行,如代码3-18所示。
在这段代码中,首先打开Word文档,然后遍历文档的所有关系对象。关系对象是Word文档中用于表示各种元素(如文本、图片等)之间关系的对象。当找到一个关系对象的类型是“image”时,说明找到了一张图片。然后,提取出图片的数据,并将其保存为一个文件。使用关系对象的ID作为图片文件的名称,以确保每个图片文件的名称都是唯一的。
通过这种方法可以轻松地从Word文档中提取所有的图片。
注意: 这个方法只能提取嵌入在文档中的图片,不能提取链接到外部文件的图片。如果用户想提取这些图片,需要使用其他的工具或库。