ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

纯前端文件预览:File Viewer 拿下 221 种格式的实测

纯前端文件预览: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合同 PDF 只能下载后打开内网还装不了 OfficeOA 系统里的合同用户点预览实际是下载一份 PDF 自己打开。想在线看文件又不敢丢给第三方转码服务内网机器更装不了 Office 全家桶。File Viewer 是一个跑在浏览器里的纯前端文件预览组件Office、PDF/OFD、CAD 图纸、压缩包、邮件、3D 模型都在浏览器内解析渲染没有服务端转码环节Worker、WASM、字体全部可以放在你自己的网络里。说白了它和上传 SaaS 转成图片那类方案的本质差异就一条文件本身不出浏览器。 三步把预览嵌进你的 Vue 项目第一步选包。轻量路线是组件包 预设npm i file-viewer/vue3 file-viewer/preset-office第二步传 url 和 options预设通过options.preset注入script setup import { FileViewer } from file-viewer/vue3 import officePreset from file-viewer/preset-office const options { preset: officePreset, theme: light } /script template FileViewer url/files/handbook.pdf :optionsoptions / /template第三步发布运行资产。PDF、Office 这类重链路依赖同版本的 Worker/WASM/字体Vite 项目装file-viewer/vite-plugin开copyAssets就自动处理了。不关心包体积的话直接装file-viewer/vue3-full它内置 preset-all别再加预设。模块长什么样看仓库目录就明白file-viewer/core框架无关核心生命周期、工具栏、搜索、缩放一套协议packages/renderersPDF、Word、电子表格、CAD、压缩包等独立渲染器packages/presetslite / office / engineering / all 四个场景预设packages/componentsVue 3、Vue 2、React、Svelte、jQuery、Web Component 封装file-viewer/vite-plugin自动发现已装预设并拷贝离线资产能力纵深格式、保真度、可配置面格式覆盖221 个扩展名32 条预览链路注册表里 221 个扩展名分布在 32 条纯前端预览链路、57 个 npm 目标上。高置信线是 PDF/OFD、图片、音视频、Markdown、源码、压缩包、邮件、EPUB 和常见 Office工程格式则故意保守OLB/DRA 只做结构与元信息的安全预览IFC/3DM 目前到签名识别为止视觉预览要自己接 web-ifc 或 rhino3dm。别拿扩展名猜支持度以格式支持矩阵为准。渲染保真度和原生阅读器差多少Word 走灰色页面底加白色纸张的流式渲染长合同读起来接近原生应用PPT 有两条独立引擎——.ppt97–2003走原生 WASM 引擎.pptx 走 Worker 引擎都按格式懒加载。实测下来保真度受文件结构、嵌入字体和浏览器能力限制个别复杂文件不会和本地 Office 像素级一致如果你的场景是像素级校样建议保留本地 Office 对照。还有个加分项内置文档比对两个预览并排、把抽取文本做 jsDiff 行级对比合同版本核对时挺顺手。可配置面水印、主题、工具栏、样式隔离水印、主题、工具栏位置、打印、导出都是 options 里的平铺配置。所有标准组件默认 Shadow DOM 样式隔离宿主页面样式打不穿预览自定义走 CSS tokens 和::part()。这里有个小细节没装配某个格式的渲染器时组件会显示明确的安装提示而不是含糊的不支持。体积与性能重链路按需加载轻量包只带组件壳PDF、CAD、Typst、压缩包这些重渲染器按格式懒加载首屏不会被撑爆。大文件方面PDF 等格式分页渲染但加密或超大文件吃内存上线前拿真实文件测一轮。 内网、离线与安全模型私有化JS、Worker、WASM、字体资产全部可自托管到内网官方提供 Docker 镜像见 Docker 部署指南离线资产非 Vite 项目跑一次npx --no-install file-viewer-copy-assets ./public/file-viewer把同版本资产树发布到部署基址下资产缺失就不算全格式可用安全模型文件全程留在用户浏览器不上传服务器重解析在本地 Worker 里跑不额外引入网络请求CSP 按宿主页面正常配置升级full 包自带同版本 Worker/WASM/字体负载升包版本时记得同步重新拷贝资产避免 JS 与资产版本错位高频问题内网环境能用吗能。装 Office 的依赖是零前提是资产自托管到位它是编辑器吗不是只读预览工具没有编辑能力.ppt 和 .pptx 都能预览吗能但走两条不同引擎分别懒加载某个真实文件渲染不对怎么办带上脱敏样本、浏览器版本和最小复现提 issue截图不能替代样本文件下一步git clone https://gitcode.com/gh_mirrors/file/file-viewer跑apps/viewer-demo看全格式效果或拉 Docker 镜像验证内网部署遇到渲染问题带脱敏样本提 issue 比描述现象有效得多。【免费下载链接】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),仅供参考
返回列表