#GitHub软件分享系列# 一个前端组件,搞定 206 种文件在线预览:再也不用让用户”下载再看”——File Viewer
做过企业后台、OA系统的都懂这个痛:用户上传一份合同,页面上只能显示文件名,点一下就是下载。Word还好,遇到DWG工程图纸、EML邮件归档、7z压缩包,只能回一句”请下载后用专业软件打开”——但用户电脑里未必装了CAD,也未必有解压工具。#文件在线预览# #前端组件#
GitHub上这个叫File Viewer的项目,纯前端,宣称支持206种文件格式,Apache-2.0开源。核心思路是把文件预览放回浏览器里完成,不依赖后端转码,不把私有文件交给第三方。内网、离线环境都能跑。
在线演示:https://demo.file-viewer.app/
架构拆了三层:core管格式识别和资源调度,renderer管具体渲染(PDF、Word、CAD、压缩包各有独立渲染器),preset按业务场景打包——只接OA系统装office preset就够了,工程平台再叠engineering preset,体积和能力兼顾。
206种格式不是虚数:Office文档、PDF/OFD/Typst、CAD工程图纸、ZIP/7z/RAR压缩包、EML/MSG邮件、Draw.io/Mermaid/XMind思维导图、Markdown/JSON/XML代码文本,全有独立渲染链路。压缩包还能先展示目录,用户点内部文件再按需解压,不一次性塞爆内存。
企业级细节也到位:搜索高亮、缩放打印、文字/图片水印、生命周期钩子、light/dark主题。还有一个文档比对功能,左右并排同步滚动,合同修订和版本审阅场景很实用。#开源项目# #企业级工具#
项目作者特别强调真实业务文件的重要性——复杂Office特效、超大Excel、内网WebView、严格CSP,这些边界场景都得在真实环境里打磨。如果你正在搭知识库、档案系统或OA后台,这个组件值得放进技术选型清单。
传送门:https://github.com/flyfish-dev/file-viewer