当前位置: 首页 > news >正文

vue-office:5.4k 预览组件库,支持 docx/xlsx/pdf/pptx

Java精选面试题(微信小程序):5000+道面试题和选择题,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计、大厂真题等,在线随时刷题!

一、项目介绍

今天给大家介绍 vue-office,一套基于 Vue 的 Office 文档在线预览组件库,支持在浏览器中直接预览 Word、Excel、PDF、PPT 等常见办公文档,适用于 Vue 2/3,也可在 React、原生 JS 等非 Vue 环境中使用。

二、功能与定位

2.1 文档类型

2.2 项目特点

  • 一站式:Word、Excel、PDF、PPT 统一用一套组件方案,无需为每种格式单独选型。

  • 接入简单:主要通过组件的 src 传入文档地址或二进制数据即可完成预览。

  • 体验与性能:针对不同格式选用合适的前端方案,并对大数据量做了优化(如 PDF 虚拟列表)。

  • 框架兼容:支持 Vue 2、Vue 3,也提供在 React、原生 JS 等非 Vue 项目中的使用方式。

三、安装与依赖

按需安装对应格式的包,并配合 vue-demi 做 Vue 2/3 兼容:

若使用 Vue 2.6 及以下,还需安装:

npm install @vue/composition-api

四、典型使用场景

文档来源通常有三种,组件都通过 src 接收:

  • CDN/静态地址:直接传入文档 URL 字符串(如 https://xxx.com/file.docx)。

  • 接口返回文件流:请求后端接口得到 ArrayBuffer 或 Blob,再传给 src。

  • 本地上传:用户选择文件后,用 FileReader 读成 ArrayBuffer,再传给 src。

Excel、PDF、PPT 的用法类似:引入对应组件与样式,将 src 设为 URL 或 ArrayBuffer/Blob,并可按需监听 @rendered、@error 等事件。

五、实现说明

  • docx:依赖 docx-preview,相关 issue 由上游库决定。

  • pdf:基于 pdf.js,并做了虚拟列表等优化以提升大文件性能。

  • excel:使用 exceljs + x-data-spreadsheet,在样式与兼容性上做了增强。

  • pptx:使用 pptx-preview,源码需单独联系开源作者获取。

六、适用场景

  • 企业级 OA、在线知识库、文档中心的在线预览;

  • 支持 Word、Excel、PDF、PPT 的 Vue 项目;

  • 来自 URL、上传或后端接口,且统一用前端组件渲染的场景;

  • Vue 2 或 Vue 3 项目,及在不使用 Vue 的项目里嵌入预览能力时的备选方案。

在线示例:https://501351981.github.io/vue-office/examples/docs/

仓库地址:https://github.com/501351981/vue-office

公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!

最近有很多人问,有没有读者交流群!加入方式很简单,公众号Java精选,回复“加群”,即可入群!

点击“阅读原文”,了解更多精彩内容!

文章有帮助的话,点在看,转发吧!

http://www.jsqmd.com/news/341218/

相关文章:

  • 如何为孩子选择机器人研学?2026年机器人研学公司全面评测与推荐 - 品牌推荐
  • 春节特供:项目管理人的“反内卷”自救指南
  • 2026年政务服务进化论:智能机器人如何重塑大厅咨询与经办体验 - 智造出海
  • 《国产系统运维笔记》第6期:银河麒麟+K8s太难管?30分钟部署Kuboard,国产化运维终于轻松了
  • 2026年电动夹爪供应商推荐——如何选择合适的电动夹爪?需关注哪些参数? - 品牌2025
  • 60.单词搜
  • 深度解析PTC工业软件许可证成本构成与降费策略
  • 线上支付分类指南:API H5 / 伪 H5 / 网关 B2B/B2C
  • 终端渲染天花板:《复杂简单》——小函数创建的『代码诗学』
  • 机器人研学公司哪家强?2026年机器人研学公司推荐与排名,解决个性化与规模化适配痛点 - 品牌推荐
  • 2026年 保安服务推荐排行榜:专业保安派遣、临时保安、物业保安、门卫保安,实力安保团队与定制化服务深度解析 - 品牌企业推荐师(官方)
  • “保险+信托+养老服务”创新落地!平安臻颐年如何定义城芯享老新范式?
  • 2026年机器人研学公司推荐:基于场景痛点与行业应用评测,附权威排名 - 品牌推荐
  • 二维码中的静态码与活码是什么?主要有什么区别?
  • 如何使用EBHelper 简化EdgeBus的代码编写?
  • 2026年2月重磅测评:头部麻将机品牌技术迭代能力与商业适配性全解析 - 品牌推荐
  • 2025中国AI智能体百强唯一BI厂商!白泽连获多项权威奖项与榜单认可
  • 创作的第256天:当技术博客成为我的第二份“原理图”
  • 分析北京政府机关食堂承包专业企业,哪家口碑好 - 工业推荐榜
  • 深入浅出地理解 C# WPF 中的​属性
  • 2026年泉州美术艺考机构口碑排名,纵横美术艺考集训学费情况 - mypinpai
  • OpenClaw是什么?2026年OpenClaw(Clawdbot)一键部署教程
  • 从MOOG产能扩张解析2000亿市场投资机会:商业航天+人形机器人双轮驱动航天伺服行业爆发
  • 2026年福州口碑好的美术艺考培训机构推荐,纵横美术艺考全解析 - 工业设备
  • DeepSeek 崩了?GPT-5.2 灰度内测?手把手教你用“向量引擎”构建永不宕机的 AI 中台(附 Sora2/Veo3 实战源码)
  • 2026年OpenClaw(Clawdbot)快速部署的几种方法
  • 聊聊苏州口碑好的医药车间净化板漆面修复机构,哪家性价比高 - myqiye
  • 2026年猫粮品牌推荐:全阶段科学喂养趋势评测,涵盖幼猫与成猫营养需求 - 品牌推荐
  • 分子模拟耗时久的底层逻辑与科研效率提升方案解析
  • 一文掌握Python四大核心数据结构:变量、结构体、类与枚举 - 教程