用最骚的操作批量保存Office文档中的图片

由本文衍生的Python代码开源在 https://github.com/Mark9804/OfficeImageExtractor
前段时间因为大创项目的考核需要,我象征性地开了一个公众号用来象征性地发一些奇奇怪怪的文章。
公众号的文章嘛自然要图文并茂,几位供稿人也是这么想的,于是那段时间每天我都能看到四篇图文并茂的Word文档。问题是那个时候新媒体管家这插件还不是很好用,从Word生成公众号文章的每张图都是裂开的(坑人微信也不允许直接复制粘贴图片)……迫于无奈,我只能把文档中的所有图片全部导出,手动插入到文章中。
有一说一,Word、PowerPoint以及Excel确实提供了右键图片另存为的方式,但只是保存一张图的话还好,每天十张二十张的话很容易工伤的。于是为了我的头发,也为了我的纤纤玉手(?),我得到了这么一个骚操作:先将Office文档以压缩包的形式解压,再把图片一次性复制出来。
嗯,是的,所有Office文档(不包括Access)的本质就是个压缩包。

在把文档后缀名改成.zip之后,大部分的解压软件就可以正常识别了。以Word文档为例的话,打开压缩包→word文件夹→media文件夹之后就可以看到所有的图片啦~

PPT和Excel也可以用相同的方式打开,不过他们的存储路径不太一样。

唯一让我觉得遗憾的是这个方式只对Office 2007之后的文档格式才有效(97 - 2003版本的文档格式是完全不一样的),但是只要使用Python添上一些细节,我就可以从右键另存为选择文件夹更改文件名确认保存的轮回当中解放出来了,嗯。

附有注释的Python代码和构建好的程序我已经放在了文章开头。如果真的拿这份代码在这里开讲Python编程基础,那可真成了硬核教程了……利用Python,这个步骤被简化为“选择文件→拖拽到程序上→完成”,妈妈再也不用担心我的手指了。
——————由于硬盘不好使,下面的动图有轻微闪光内容———————
