如何使用pywin32从.docx文档生成图像缩略图
我正在使用Mark Hammond的pywin32扩展来操作Microsoft Word 2013。我的目标很简单:我想从任何给定的.docx文件中提取-第一页-,然后把它保存为jpeg文件(或者其他任何图片格式),基本上就是生成一个缩略图。
我该怎么做呢?
这是我目前的进展:
from time import sleep
import win32com.client as win32
def word():
word = win32.gencache.EnsureDispatch('Word.Application')
doc = word.Documents.Open("myFile.docx")
word.Visible = False
sleep(1)
...
## CODE I NEED ##
...
doc.Close(False)
word.Application.Quit()
if __name__ == '__main__':
word()
提前谢谢你们。
1 个回答
2
MS Office的文档是以OOXML格式保存的,这种格式其实就是一个压缩包,里面包含了“不同的文件”。
要提取缩略图,只需在这个ZIP(也就是docx)压缩包里找一个名为“thumbnail”的文件,后面可能会有不同的扩展名。(目前这个文件可能是thumbnail.emf(用于docx),wmf(用于xlsx)或者jpeg(用于pptx))。另外,要注意的是,如果用户在保存Word/Excel/PowerPoint文件时选择不包含缩略图,那么这个缩略图文件可能就会缺失。