我妈妈的一位朋友展示了她的Word文档缩略图-在“文件资源管理器”中,当以图标形式查看文件时,每个Word .docx文件都显示为第一页的图片。现在她有拥有这个;-)。
Word具有内置的此功能,但默认情况下处于禁用状态。如果告诉Word将缩略图保存为文档的一部分,则文件资源管理器将知道如何查找和显示它。您可以基于每个文档或默认情况下启用缩略图保存;默认情况下,我已启用它。
这对于新文档非常有效,但对现有文档则无效。实际上,Word以此方式有点破损。您会认为,加载无缩略图的文档并在启用缩略图的情况下进行保存会添加缩略图,而不会。您可以使用相同的文件名加载文件和另存为-也不起作用。
要做的工作是加载文件并另存为新文件名-它会得到一个缩略图。然后,您可以再次另存为原始文件名,这一次它也获得缩略图。
那太好了,但是我母亲有11,000个要转换的现有文档:-P。自动化救援!
...不是那么快。如果我使用COM自动化加载现有文档并另存为新文件名,则它没有缩略图。
示例代码:
# tested with Anaconda 3.7.6 64bit
import win32com.client as win32 # pywin32
TEST_FILE = r"c:\users\mom\documents\doc_with_no_thumbnail.docx"
TEMP_FILE = r"c:\users\mom\documents\DELETE ME.docx"
word = w32.gencache.EnsureDispatch('Word.Application') # open an instance of Word
doc = word.Documents.Open(TEST_FILE) # open test file
doc.SaveAs2(TEMP_FILE) # Error: file saves, but no thumbnail!
doc.SaveAs2(TEST_FILE) # Error: file saves, but no thumbnail!
doc.Close(False)
我浏览了Microsoft documentation for the SaveAs2 method;它根本没有提到缩略图。
有人能建议一种无需手动干预就强制Word将缩略图添加到现有.docx文件的方法吗?
我创建了两个示例.docx文件(带缩略图和不带缩略图): https://www.dropbox.com/sh/ou1orebf9tkrab4/AADVb24rqAXZOUB5GJzO4GM3a?dl=0