<template><!-- 浏览Word --><divref="wrap"class="client-tabl"><div v-if="headArr.length > 3" class="left"><!-- 侧边标题 --><ul class="collapse"><liv-for="(item, index) in sideArr":key="index"ref="menuLi":class="{ wirte: iswrite == index }"@click="menuClick(item, index)">{{ item }}</li></ul></div><!-- 渲染word文件 --><divid="wordView"v-loading="loading"element-loading-text="加载中"v-html="vHtml"/></div>
</template>

下载第三方插件并引用

// npm install --save mammoth
import mammoth from 'mammoth'
name: 'Word',data() {return {// 内容头部目录headArr: ['一、业财融合', '1.1 营业外包', '1.1.1外包商合同查询'],// 侧边目录sideArr: ['一、业财融合', '1.1 营业外包', '1.1.1外包商合同查询', '1.1.2外包费调账管理', '1.1.3汇总清单查询', '1.1.4汇总账单报账'],iswrite: 0, // 用于侧边栏排他思想timer: null, // 定时器名称loading: true, // 用于elementui 加载插件vHtml: '',wordURL: '/templates/新手介绍手册/附件2省侧财辅操作手册_营业外包分册20211026.docx' // 此地方存放文件的地址}},created() {this.previewWord()},methods: {// 渲染 word 文件内容previewWord() {var vm = thisconst xhr = new XMLHttpRequest()xhr.open('get', this.wordURL, true)xhr.responseType = 'arraybuffer'xhr.onload = function() {if (xhr.status === 200) {mammoth.convertToHtml({ arrayBuffer: new Uint8Array(xhr.response) }).then(function(resultObject) {vm.$nextTick(() => {vm.vHtml = resultObject.valuevm.timers()})})}}xhr.send()},timers() {this.timer = setTimeout(() => {const inner = document.querySelectorAll('#wordView>h4')this.headArr.push(...inner)this.loading = false},)},// 此功能作用于 点击侧边栏 跳转到对应的内容头部标题menuClick(item, index) {this.iswrite = indexthis.headArr.forEach((iten) => {if (item === iten.innerHTML) {this.$refs.wrap.scrollTop = iten.offsetTop} if (item === iten) {this.$refs.wrap.scrollTop = iten.offsetTop}})},// 销毁定时器beforeDestroy() {clearInterval(this.timer)this.timer = null}

大致效果,希望能帮到小伙伴们!

使用vue预览Word文件相关推荐

  1. vue 预览 word 文件 docx

    安装 npm 依赖 npm i docx-preview@0.1.4 npm i jszip 预览在线地址文件 <template><div class="home&quo ...

  2. vue预览word,excel,pptx,pdf文件

    vue预览word,excel,pptx,pdf文件 1.做word,excel,pptx的预览,要先确定文件路径访问是通过域名的url来预览,不可以通过IP的url来访问 先把文件路径的url进行u ...

  3. Vue 预览word,excel,ppt等office文档-内网访问(基于onlyoffice,后端返回文件流)

    Vue 预览word,excel等office 先看效果!! 需求背景:在前端页面中预览office文件且是内网访问,服务器不可访问外网的前提. 因此微软的接口就废掉了,因为他接口的条件是可以访问外网 ...

  4. Vue预览word/pdf文件(内外网均可)

    预览word文件实现方式有 1 将文件放在前端静态文件中 实现本地预览 但前端包变得很大 多文件不适合 2 通过跳转外网链接访问 但内网无法使用 3 综合考虑 利用浏览器自带的预览pdf  将文件放在 ...

  5. VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索,在iframe中获取选中文字,监听鼠标事件,右键菜单

    一.VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索 需求实现:vue实现预览pdf文件,获取到鼠标选中的文字数据.调用pdf.js自带的搜索方法实现搜索功能(后期可以调用该接口满足其他 ...

  6. php怎么在线预览word文件?php预览.doc、.docx、.wps文件

    php预览Word PHP要实现在线Word预览只需要3步 第一步: 准备一个文件地址,如下: http://usdoc.cn/vw/文件模板.docx 第二步 预览前置地址: http://vw.u ...

  7. 前端预览word文件_[装机必备] QuickLook —— 敲击空格即可快速预览文件

    ​今天给大家推荐的软件是:QuickLook 你只需要选中文件,然后敲击空格,就可以快速预览文件内容 QuickLook 有三个版本:安装版.便携版.UWP 版 作者对这三个版本的描述: *需要注意的 ...

  8. vue 在线预览word文件docx

    1.npm安装插件 npm i docx-preview 2.index.html文件引入 <script src="https://unpkg.com/jszip/dist/jszi ...

  9. 前端预览word文件_2020国开形考计算机练习题Word练习

    选择 1.在Word文档中要设置"页边距",则应该使用 . "文件|打印"选项卡中的"页面设置"命令 2.若要在打印文档之前预览应使用的命令 ...

最新文章

  1. 安装Oracle Database 11g 找不到文件“WFMLRSVCApp.ear” .
  2. python3爬虫入门教程-Python3爬虫学习入门教程
  3. 思科bfd静态路由切换_思科路由器曝出两个严重零日漏洞,已被野外利用
  4. 如何保证战略落地_战略如何规划落地?值得借鉴
  5. 27 | 案例篇:为什么我的磁盘I/O延迟很高?
  6. laravel created_at 时间戳_使用 HTTP 测试测试 Laravel 中间件
  7. 八皇后问题分析与Java实现
  8. Android简单通讯录从list取数据并显示 eclipse开发
  9. Snake Ladders bfs
  10. html5数组删除相同数据,js数组相减简单示例【删除a数组所有与b数组相同元素】...
  11. 【VirtualBox虚拟机总是提示“0x00000000指令引用的0x00000000内存,该内存不能为written“错误的解决方法】
  12. win7无权限连接网络计算机,win7系统出现无权限访问网络的完美解决技巧
  13. 手披云雾开鸿蒙,赞美泰山的诗句
  14. 如何创建自己的社区平台_建立自己的平台
  15. 生存分析 R语言(六)—— Extended and Stratified Cox
  16. mount.nfs: mount system call failed问题解决
  17. Vue Browserslist: caniuse-lite is outdated.
  18. 股票策略03 | 基于机器学习的多因子策略
  19. 01-Intellij IDEA搭建SSM(SpringMVC+Spring+Mybatis+Maven)框架(上)
  20. samba 设置 netbios

热门文章

  1. 前端须知 上(颜色的概念)
  2. 游戏成元宇宙“主力军”:上半年收入占比达94%
  3. mysql 统计存储过程实例_MySQL存储过程实例
  4. jetson nano poe_流放之路S13贵族COC流派加点配置攻略 POE贵族COC配什么技能
  5. Js去除文字中的换行符
  6. 红帽和华为,考哪个认证更好
  7. Pycharm安装配置详细教程
  8. 爬虫之多线程爬取智联招聘信息
  9. linux pushd 不起作用,在Linux上运用pushd的一些尝试
  10. 本科毕业论文(设计)——开题报告