vue 实现word文档页面内预览docx-preview 和 vue-office

1.先下载引入

bash 复制代码
npm i docx-preview --save
import { renderAsync } from 'docx-preview';

2.使用

bash 复制代码
fetch(url) .then((response) => {
   let docData = response.blob(); //将文件转换成bolb形式
    //选择要渲染的元素
    let childRef = document.getElementsByClassName("childRef");
    //用docx-preview渲染
    renderAsync(docData, childRef[0]).then((res) => {});
  
  })

url就是文档地址,可以是线上也可以是本地

bash 复制代码
 <div  class="childRef" ></div>

给个空间就可以了

3.踩坑

有时候有些文档预览的时候,一些数字不展示,查找了半天才发现是文档内有图形绘制的地方,然后影响了,删掉就可以了

比如说,下划线一般我们都是文字添加下划线,但是如果用形状画一个黑线,看起来也是个下划线,但是这样会解析不出来

一般大家也不会用这些话形状,所以就可以忽略

4.vue-office

这个插件是在docx-preview基础上进行了一些优化,git地址和使用方式都可以看文档
添加链接描述

我想说的是,在你安装过docx-preview之后,再安装vue-office会启动冲突

删掉node-modules重新下载就行了,最好吧package里的docx-preview也删掉,然后重新下载

bash 复制代码
npm install @vue-office/docx vue-demi
相关推荐
铁皮饭盒1 小时前
TypeBox 比 Zod.js 校验 快10倍, 还兼容AI 工具调用, 他做对了什么?
前端·javascript·后端
Bigger9 小时前
Tauri (26)——托盘图标总对不上系统主题?一行 Template Image 搞定
前端·rust·app
kyriewen11 小时前
面试官问你:“AI 能写 80% 的代码了,公司为什么还需要你?”
前端·javascript·面试
甲维斯12 小时前
又升级咯!坦克大战2026,科技与复古并存!
前端·人工智能·游戏开发
搬砖的码农15 小时前
(08)为什么我的 Agent 一跑后台服务就卡死
前端·agent·ai编程
飘尘15 小时前
前端转全栈(Java 后端)必须要知道的:开发中的锁机制与分布式并发控制
前端·后端·全栈
亲亲小宝宝鸭15 小时前
前端性能监控:web-vitals
前端·性能优化·监控
前端切图崽_小郭15 小时前
虚拟滚动:静态 vs 动态的核心差异与实现?
vue.js
陆枫Larry15 小时前
可滚动页面背景填不满:`height: 100vh` vs `min-height: 100vh`
前端