纯前端文件预览:File Viewer 直开 221 种文件

发布时间:2026/10/31 4:17:15

纯前端文件预览:File Viewer 直开 221 种文件 纯前端文件预览File Viewer 直开 221 种文件【免费下载链接】file-viewerBrowser-native Office / PDF / CAD / archive viewer for internal web apps, with Vue, React, Svelte, jQuery, Web Components, and no server-side conversion.项目地址: https://gitcode.com/gh_mirrors/file/file-viewer附件预览最真实的痛点不是打不开而是文件得先离开内网传统方案里预览一个 DWG 或合同 DOCX要么部署转码后端要么把文件上传到 SaaS 转换接口。File Viewer 是一个纯前端文件预览组件用 Worker 和 WASM 在浏览器里完成解析与渲染不走服务端转码。它注册了 221 个扩展名对应 32 条预览管线全部在客户端执行。⚙️ 它到底是怎么做到的一句话架构File Viewer 一共四层从框架组件到本地资源自上而下排布30 秒能建立完整心智模型。最上层是各框架组件Vue、React、Svelte、jQuery、Web Component只负责挂载、卸载和事件转发。第二层file-viewer/core框架无关负责渲染器注册表、生命周期、工具栏、搜索、打印这些统一契约。第三层是渲染器PDF、Word、Excel、CAD、压缩包等每个格式族一个独立包preset 则是渲染器的产品级组合。最底层是本地资源Worker、WASM、字体、vendor 文件都可以自托管内网环境零外网依赖。框架组件 (Vue / React / Svelte / jQuery / Web Component) │ file-viewer/core注册表 · 生命周期 · 工具栏 · 搜索 · 打印 │ preset / 单个 rendererPDF、Word、Excel、CAD、压缩包、邮件… │ 本地 Worker · WASM · 字体 · vendor 资源可自托管说白了组件只跟协议打交道格式能力像插件一样插拔重解析资源全部留在本地。 最小可运行示例下面这段代码做三件事装依赖、引入 Vue 3 组件、渲染第一个文件。npm install file-viewer/vue3-fullscript setup langts import { FileViewer } from file-viewer/vue3-full /script template FileViewer url/files/contract.docx :options{ theme: light, watermark: { text: 内部资料 } } / /templateFull 包已内置preset-all与同版本 Worker/WASM 资源不需要再装任何 preset。Vite 项目可另外注册file-viewer/vite-plugin自动发现已装 preset 并拷贝资源。React、Svelte、jQuery、原生 Web Component 都有对应包options 契约完全一致。三个典型工作流按使用频率挑了三个动作翻页看文档、看图纸、翻压缩包。在页面里直接翻页看合同PDF 与 Office 文档前端渲染开启pdf.navigation左侧显示页码缩略图与大纲树点击即可跳页文档内搜索高亮命中项支持上一条 / 下一条导航pdf.bbox可在首屏定位并高亮合同金额这类区域缩放旋转后高亮不丢pdf.streaming支持按 Range 渐进加载不必等整个文件下载完挂载前用precheckFileViewerSource()校验 PDF/Office 文件签名坏文件提前拒绝Office 文档前端渲染实际预览效果让工程师不装 CAD 就能在浏览器里预览 DWGLibreDWG WASM 解析DWG / DXF / DWF / DWFx 通过 WASM 在浏览器端解析不需要桌面 CADcad.renderer默认自动选择 webgl / canvas2d低配终端可强制 canvas2dcad.workerTimeoutMs给大图纸的解析设超时上限cad.wasmPath等资产可自托管内网部署零外网请求STEP / glTF / STL 等 3D 模型走独立的 3D 渲染器STEP 用本地 OCCT 建网格DWG 图纸在浏览器内直接解析把压缩包里的文件列出来但不想真的解压archive 渲染器ZIP / RAR / 7Z / TAR / ISO 等 20 压缩格式直接展示目录结构不要求完整解到磁盘点进嵌套文件走同一套渲染器注册表zip 里的 .docx 照样按文档渲染archive.cache启用 IndexedDB 缓存反复切换不重复解析archive.entryActions.download可按路径规则禁用嵌套文件的下载按钮maxArchiveSize/maxEntryPreviewSize限制内存占用防止压缩炸弹官方演示主工作区免服务端转码预览和老办法差在哪一句话把转码服务搬进浏览器后端只剩静态资源托管。维度服务端转码纯前端File Viewer部署依赖转码后端 存储 转换队列仅静态资源无新增服务文件是否离开浏览器上传到转码服务不上传离线 / 内网可用依赖转码服务在线可完全自托管格式上限取决于转码服务221 扩展名 / 32 条管线典型延迟转码 网络往返首屏直接解析重格式懒加载 WASM221 个扩展名的完整格式矩阵代价也要讲清楚重型格式CAD、3D、超大 PDF在浏览器里占内存文件越大越容易吃紧Full 包首屏体积大于单渲染器组合建议按 renderer 拆包chunkStrategy:renderer方便排查体积它是只读预览工具不是 Office / CAD 编辑器视觉保真度随文件结构和嵌入字体而异。按需装配纯前端文件预览的包体积控制设计意图是组件做薄壳能力按包装preset 是产品级组合lite / office / engineering / all单个 renderer 是格式级组合粒度自己选。# 最小集组件 办公预设PDF / Word / Excel / PPT / OFD npm install file-viewer/vue3 file-viewer/preset-office # 全集一个包搞定 npm install file-viewer/vue3-fullVite 项目注册file-viewer/vite-plugin后preset 会被自动发现、Worker/WASM 资源自动拷贝业务代码零手工 import。具体体积数字官方未公布以你打包器的 build report 为准。️ 安全与合规边界数据不出浏览器文件字节由你自己的前端拉取解析全在客户端完成严格 CSP 场景下把所有资产放在同一受信源即可。隔离机制标准组件默认走 Shadow DOM宿主页面样式进不去也出不来重解析在 Worker 里跑主线程保持响应。水印与审计文本 / 图片水印打印输出同样保留beforeOperation可给下载、打印等操作挂权限校验toolbar.permissions是硬闸门直接调 API 也会被拦。 踩坑与排障清单查看器空白宿主容器高度不稳定或文件扩展名无法识别 → 给容器固定高度必要时显式传type。Full 包报 libarchive Worker 未加载资产 404 后 SPA 返回了 HTML 兜底状态码 200 但内容不是 JS→ 检查/file-viewer/vendor/libarchive/worker-bundle.js是否返回真实 JS前缀非默认时用setDefaultFullAssetBaseUrl()指一次。WASM 实例化失败服务器 MIME 类型不对 → 给.wasm/.js/ 字体 / JSON 清单配置正确 MIME。升级后 DOCX 版式不变旧 Worker 或旧资源被缓存 → 重新部署同版本资产清 CDN 与服务 Worker 缓存确认请求的是新版docx.worker.js。扩展名在矩阵内但页面显示安装提示对应渲染器没装配 → 装对应 preset 或单个 renderer 包。npm 11 报Cannot read properties of null (reading matches)同一目录混用了 pnpm / bun 等包管理器 → 统一一个包管理器重置node_modules重装。 接入你现有的系统三条路径NPM 是主路径iframe 只用于特定场景。NPM 包推荐按技术栈选对应包五个框架共享同一份 options 契约只有组件写法不同。CDN / IIFEfile-viewer/web-full提供入口 script或直接整目录部署它的dist/——只拷入口 IIFE 不算完整部署。iframe 嵌入官方明确不推荐标准集成走 iframe仅用于嵌入官方演示或静态站场景文件经postMessage(Blob)交接iframe src/file-viewer/iframe.html?url/files/demo.docx stylewidth:100%;height:720px;border:0 allowfullscreen /iframe私有化 / 离线部署官方提供 Docker 镜像docker pull flyfishdev/file-viewer可镜像进内网 registry详见 Docker 部署文档 与 离线分发说明。生态与后续演进重型格式CAD、3D、大文档的 WASM 性能持续优化目标是压低低配终端的解析耗时。格式矩阵维持全部稳定状态当前 221 扩展名、0 实验性新格式以渲染器包形式增量加入。移动端触控交互与无障碍支持虚拟行号、屏幕阅读器继续完善。社区报兼容性问题时提供脱敏样本文件 浏览器版本最有价值截图不能替代样本。可贡献新渲染器 / preset 组合或修特定格式的边界案例。git clone https://gitcode.com/gh_mirrors/file/file-viewer后执行pnpm install pnpm dev本地跑起官方 demo先打开 example 目录里的样本 docx 试试。【免费下载链接】file-viewerBrowser-native Office / PDF / CAD / archive viewer for internal web apps, with Vue, React, Svelte, jQuery, Web Components, and no server-side conversion.项目地址: https://gitcode.com/gh_mirrors/file/file-viewer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/31 4:13:23

网页插件实现文件夹上传的技术方案与实践

1. 网页插件文件夹上传功能的技术实现在Web开发中实现文件夹上传一直是个痛点问题。传统文件上传控件只能选择单个文件,而实际业务场景中经常需要批量上传整个文件夹结构。作为前端开发老手,我分享下浏览器插件实现这个功能的完整方案。文件夹上传的核心…

2026/10/31 4:13:23

Windows安装Superset:Python3.6虚拟环境与汉化排错指南

简介:面向需要在 Windows 环境部署 Superset 的数据分析初学者、BI 实施人员及运维人员,这份文档围绕 Airbnb 开源的数据分析与可视化平台展开,帮助读者完成本地安装、初始化与中文界面配置,降低上手自助分析和仪表盘搭建的门槛。…

2026/10/31 4:13:23

Moto手机导航优化:手势定制与沉浸体验全攻略

1. Moto手机导航操作痛点分析作为长期使用Moto手机的深度用户,我深刻理解原生导航方式带来的不适感。Moto手机默认采用三大金刚键(返回、主页、多任务)与手势导航并存的混合模式,这种设计存在几个典型问题:返回键位置反…

2026/10/31 4:13:23

端侧AI存储实战:UFS 4.1与iSA如何突破推理性能瓶颈

1. 端侧AI存储到底在解决什么问题1.1 从云端推理到端侧推理的存储需求转变过去两年,大模型推理的主战场一直在云端。但真正做过端侧AI硬件部署的同行都清楚,一旦把模型搬到手机、车机、智能摄像头、工业网关这类设备上,瓶颈往往不是算力&…

2026/10/31 4:13:23

老注塑机设备物联网:Modbus采集、边缘网关与云端诊断

简介:面向注塑机设备厂商与制造企业设备管理、运维及工业物联网方案学习者,这份文档围绕传统注塑机状态靠人工记录、故障报警滞后、工控与通信协议多样难以统一联网等痛点,梳理设备联网、数据采集与远程运维的解决思路。包内共1个docx文件&am…

2026/10/31 4:08:23

H.264整数DCT变换与量化:原理、实现与常见误区

简介:这份文档面向视频编码学习者与工程实现人员,聚焦H.264标准中44块整数DCT变换与量化的原理及实现,帮助读者理解如何以整数加减和移位替代浮点运算,从而降低编解码复杂度并规避反变换误匹配问题。资源包内共1个doc文件&#xf…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/30 20:55:09

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/31 0:02:41

猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包

简介:本资源是一套面向计算机视觉初学者与YOLO目标检测实践者的猫狗图像数据集及配套开发工具包,专为快速上手目标检测模型训练而设计。资源包含1000张真实场景高清猫狗图片,标注质量高,同时提供VOC(XML)、…

2026/10/31 0:02:41

HDU2017多校标程复现:算法竞赛工程化真题沙盒

简介:本资源为2017年HDU多校联合训练第一场官方配套资料,面向ACM程序设计竞赛备赛学生、算法爱好者及高校编程集训队成员,旨在提供权威解题参考与完整测试验证环境。压缩包共40个文件,含15份C标程(覆盖全部赛题&#x…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑