Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 关于我们
  • 广告合作
  • 网站投稿
  • 文章标签
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
提交资源 / 链接反馈

Vue-Office

分享
复制链接
新浪微博
QQ 好友

扫一扫分享

GitHub:https://github.com/501351981/vue-office
网站描述:实现 Word/Excel/PPT/PDF 在线预览
GitHub

vue-office是一个支持多种文件(docx、.xlsx、pdf)预览的vue组件库,支持vue2和vue3。目标是成为使用最简单,功能最强大的文件预览库。


功能特色

一站式:提供docx、.xlsx、pdf多种文档的在线预览方案,有它就够了,不用再四处寻找、测试、集成各种库了

使用简单:只需提供文档的src(网络地址)即可完成文档预览,也支持ArrayBuffer、Blob等多种格式

支持样式:不仅能预览内容,也支持文档样式,最大限度还原office文件内容

性能好:针对数据量较大做了优化


安装

#docx文档预览组件
npm install @vue-office/docx vue-demi

#excel文档预览组件
npm install @vue-office/excel vue-demi

#pdf文档预览组件
npm install @vue-office/pdf vue-demi

如果是vue2.6版本或以下还需要额外安装 @vue/composition-api

npm install @vue/composition-api

使用

预览 Word 文档

<template>  <div>    <VueOfficeDocx      :src="docxSrc"           @rendered="onRendered"      @error="onError"    />  </div></template><script setup>  import { ref } from "vue";  // 引入 Word 预览组件  import VueOfficeDocx from "@vue-office/docx";  // 你的 .docx 文件链接  const docxSrc = ref("/doc.docx");  const onRendered = () => {    console.log("Word 文档渲染完成!");  };  const onError = (error) => {    console.error("渲染 Word 文档时出错:", error);  };</script>
预览 Excel 表格

<template>  <div>    <VueOfficeExcel      :src="xlsxSrc"           @rendered="onRendered"      @error="onError"    />  </div></template><script setup>  import { ref } from "vue";  // 1. 引入 Excel 预览组件  import VueOfficeExcel from "@vue-office/excel";  // 2. 设置 .xlsx 文件链接  const xlsxSrc = ref("/xls.xlsx");  // 3. 监听渲染事件  const onRendered = () => {    console.log("Excel 表格渲染完成!");  };  const onError = (error) => {    console.error("渲染 Excel 表格时出错:", error);  };</script>
预览 PDF 文档

<template>  <div>    <VueOfficePdf      :src="pdfSrc"           @rendered="onRendered"      @error="onError"    />  </div></template><script setup>  import { ref } from "vue";  // 1. 引入 PDF 预览组件  import VueOfficePdf from "@vue-office/pdf";  // 2. 设置 .pdf 文件链接  const pdfSrc = ref("/pdf.pdf");  // 3. 监听渲染事件  const onRendered = () => {    console.log("PDF 文档渲染完成!");  };  const onError = (error) => {    console.error("渲染 PDF 文档时出错:", error);  };</script>
预览 PPTX 幻灯片

<template>  <div>    <VueOfficePptx      :src="pptxSrc"           @rendered="onRendered"      @error="onError"    />  </div></template><script setup>  import { ref } from "vue";  // 1. 引入 PPTX 预览组件  import VueOfficePptx from "@vue-office/pptx";  // 2. 你的 .pptx 文件链接  const pptxSrc = ref("/pptx.pptx");  // 3. 监听渲染事件  const onRendered = () => {    console.log("PPTX 幻灯片渲染完成!");  };  const onError = (error) => {    console.error("渲染 PPTX 幻灯片时出错:", error);  };</script>
本地文件上传与即时预览

<template>  <div>    <h4>选择一个 Word 文档进行预览:</h4>    <input type="file" @change="handleFileChange" accept=".docx" />    <hr />    <div v-if="!docxSrc">请选择文件</div>    <VueOfficeDocx v-else :src="docxSrc" />  </div></template><script setup>  import { ref } from "vue";  import VueOfficeDocx from "@vue-office/docx";  import "@vue-office/docx/lib/index.css";  const docxSrc = ref(null);  const handleFileChange = (event) => {    // 获取用户选择的文件    const file = event.target.files[0];    if (file) {      // 将 File 对象直接赋值给 src 属性      docxSrc.value = file;    }  };</script>

底层技术栈

Word (.docx): 底层使用 docx-preview,它能将 .docx 文件转换成 html 进行渲染

Excel (.xlsx): 底层使用大名鼎鼎的 SheetJS (xlsx) 进行解析,并将其渲染成表格

PPTX (.pptx): 底层使用 pptx-preview,将 PPTX 文件解析并渲染为图片序列

PDF: 底层依赖 Mozilla 的 pdf.js,这是目前最主流的纯 JS PDF 渲染引擎

仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://fly63.com/nav/4815

广告图片

more>>
相关栏目
layer
layer是一款口碑极佳的web弹层组件
点击进入 GitHub
iScroll.js
IScroll是移动页面上被使用的一款仿系统滚动插件。
官网 GitHub
wangEditor
基于javascript和css开发的 Web富文本编辑器
官网 GitHub
ueditor
由百度web前端研发部开发所见即所得富文本web编辑器
官网 GitHub
highlight
Highlight.js 是一个用 JavaScript 写的代码高亮插件,在客户端和服务端都能工作。
官网 GitHub
UglifyJS
一个js 解释器、最小化器、压缩器、美化器工具集
官网 GitHub
lozad.js
高性能,轻量级,可配置的懒加载图片工具
官网 GitHub
Sortable.js
简单灵活的 JavaScript 拖放排序插件
官网 GitHub
validate.js
表单提供了强大的验证功能,让客户端表单验证变得更简单
官网 GitHub
Draggin.js
一款兼容移动手机的js拖拽插件
官网 GitHub
lazysizes.js
响应式图像延迟加载JS插件【懒加载】
官网 GitHub
cropper.js
通过canvas实现图片裁剪
官网 GitHub
clipboard.js
浏览器中复制文本到剪贴板的插件,不需要Flash,仅仅2kb
官网 GitHub
siema
轻量级简单的纯 Js轮播插件
官网 GitHub
Mermrender
用于生成序列和UML图的RESTful渲染管道
官网 GitHub
Editor.js
JSON格式输出数据的富文本和媒体编辑器
官网 GitHub

手机预览

首页 技术导航 在线工具 技术文章 教程资源 AI工具集 前端库/框架 实用工具箱

Copyright © 2018 Web前端开发网提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。