V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mmddisa
V2EX  ›  Windows

Windows txt, docx(doc), xlsx(xls) 文件不显示缩略图

  •  
  •   mmddisa · 57 天前 · 927 次点击
    这是一个创建于 57 天前的主题,其中的信息可能已经有所发展或是发生改变。

    很奇怪,.pptx(.ppt)就可以正常显示缩略图,但 txt, docx(doc), xlsx(xls)这几种格式就怎么也不能显示,其他格式如 pdf 各种和图片似乎没有问题都能正常显示。

    office 是 Microsoft 365 订阅最新版。

    自行搜索尝试了各种方法无果后,请求各位大佬帮助

    缩略图问题如图所示:

    5 条回复    2024-03-02 13:35:00 +08:00
    mmddisa
        1
    mmddisa  
    OP
       57 天前 via iPhone
    补充一下,在 Onedrive 文件夹内就没有这个问题,所有格式文件都能正常显示缩略图。
    geelaw
        2
    geelaw  
       57 天前   ❤️ 8
    OneDrive 有缩略图是因为是 cloud file provider API 提供的,见 https://learn.microsoft.com/en-us/windows/win32/cfapi/build-a-cloud-file-sync-engine

    Word 文档必须保存缩略图才能被 IExtractImage 接口( Word 的实现是 CLSID = {355822FC-86F1-4BE8-B5F0-A33736789641})提取缩略图,开启这个功能有两种主要方法。

    第一种:在 Word 里随便新建一个文档,点功能区 File 选项卡,再点左侧的 Info 选项卡,再点 Properties 下来列表,点 Advanced Properties ,在 Summary 选项卡选中 Save Thumbnails for All Words Documents 复选框,点 OK 。

    第二种:在 Word 里按 F12 ,在 Save As 对话框里选中 Save Thumbnail 复选框,然后保存。
    geelaw
        3
    geelaw  
       57 天前   ❤️ 2
    多嘴一句,为什么云文档需要特供的缩略图等 shell 功能?因为云文件不一定已经下载到本地,而为了显示缩略图或者文件预览下载文件是大忌,所以云文档的缩略图由云存储提供商准备。

    参考阅读 https://devblogs.microsoft.com/oldnewthing/20170503-00/?p=96105 另外提示链接里文章的 online 和 offline 的意思和当今常见的一种用法相反。
    geelaw
        4
    geelaw  
       57 天前   ❤️ 1
    最后,txt 文件在默认状态下没有 IExtractImage——这可以用 IQueryAssociations 发现,或者查看注册表 HKCR\.txt 以及 HKCR\txtfile 以及 HKCR\SystemFileAssociations\text 里面都没有 IExtractIcon, IExtractImage, IThumbnailProvider 的注册。OneDrive 会提供 .txt 的缩略图。
    EVANGELIONAir
        5
    EVANGELIONAir  
       57 天前
    有没有种可能,Windows txt, docx(doc), xlsx(xls) 本来就是不显示缩略图的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3406 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:08 · PVG 19:08 · LAX 04:08 · JFK 07:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.