位置: IT常识 - 正文

vue docx-preview实现docx文件在线预览

编辑:rootadmin
vue docx-preview实现docx文件在线预览

推荐整理分享vue docx-preview实现docx文件在线预览,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

        之前一般做项目进行文件浏览的时候基本都是用的window.open+url的形式打开文件,进行浏览操作的,但是这种打开方式只能够在线浏览如jpg、png、pdf这类文件,对于文档类型docx这种则是用下载的方式打开的。这次甲方爸爸不想要下载了,于是就来使docx-preview这个在线预览组件了。(这个插件只能够实现docx后缀的文件,doc文件打不开滴)

1.下载插件

npm i docx-preview --saveoryarn add docx-preview

2.导入

import { renderAsync } from 'docx-preview';//一般用这种形式就行了let docx = requie('docx-preview');//我是vue3项目 报错require不行 就用的下边这种了let docx = import.meta.glob('docx-preview');

3.使用组件

如图有两个文件,设计点击时传送文件file 得到如下数据

 

因为之前上传时已经限定了上传文件格式,所以通过fileType判断,是图片文件还是docx文档文件,图片文件则直接传url浏览,文档文件则需处理,选择的是将文件通过url地址换成以下这种形式进行操作

 要渲染的组件:

<div ref="childRef" class="childRef"></div>

渲染语法: 

function previewfile(item) { if (item.fileType == '.docx') { nextTick(() => { fetch(item.filePath) .then((response) => { let docData = response.blob(); //将文件转换成bolb形式 //选择要渲染的元素 let childRef = document.getElementsByClassName('childRef'); //用docx-preview渲染 renderAsync(docData, childRef[0]).then((res) => { console.log('res---->', res); }); }) .catch((error) => { console.log(error); }); }); } else { ImageUrl.value = toRaw(item).filePath; }}vue docx-preview实现docx文件在线预览

实现结果

这个组件渲染出来有自带的样式,自己修改修改样式就行了

更新一下关于样式方面的问题:

文档以弹窗形式出现组件代码如下

<el-dialog v-model="dialogVisible" class="dialogLarge" append-to-body :destroy-on-close="true"> //此处是弹窗名称 <template #header> <div class="dialogHeader"> <div>预览</div> </div> </template> //此处是预览图片的Img组件 <img w-full :src="dialogImageUrl" alt="Preview Image" style="height: auto; width: 100%" v-show="dialogImageUrl" /> //此处是用于渲染docx文档的div <div ref="childRef" class="childRef"></div></el-dialog>

生成效果如图:

 这个组件会自动生成docx-wrapper的div盒子,有自带的样式

1.修改.docx-wrapper{background:white}去除灰边

 2..docx-wrapper>section.docx{box-shadow:none}去除阴影效果

屏蔽或者用!important设置section.docx自带的高度宽度等属性,得到符合UI要求的样子

//vue3使用:deep(){}的形式进行样式穿透//vue2是::v-deep或者/deep/的形式进行样式穿透:deep(.docx-wrapper) { background-color: #fff; padding: 0;}:deep(.docx-wrapper > section.docx) { width: 100% !important; padding: 0rem !important; min-height: auto !important; box-shadow: none; margin-bottom: 0;}
本文链接地址:https://www.jiuchutong.com/zhishi/293742.html 转载请保留说明!

上一篇:ChatGPT-Next-Web:Vercel 和 Cloudflare 的快速部署

下一篇:奥杜邦中心的一只靛蓝彩鹀,美国宾夕法尼亚州 (© Vicki Jauron/Getty Images)(奥杜邦的祈祷经典语录)

  • qq聊天记录迁移到另一台手机(qq聊天纪录)(qq聊天记录迁移一直显示正在连接)

    qq聊天记录迁移到另一台手机(qq聊天纪录)(qq聊天记录迁移一直显示正在连接)

  • 华为手机如何看拦截的垃圾信息(华为手机如何看手机号)

    华为手机如何看拦截的垃圾信息(华为手机如何看手机号)

  • 微信怎样查看访客记录(微信怎样查看访客)

    微信怎样查看访客记录(微信怎样查看访客)

  • 朋友圈只发定位不发内容(微信的朋友圈定位可以随意发送位置?)

    朋友圈只发定位不发内容(微信的朋友圈定位可以随意发送位置?)

  • 外星人是戴尔旗下的吗(外星人是戴尔的子公司吗)

    外星人是戴尔旗下的吗(外星人是戴尔的子公司吗)

  • cdma是几g网络(cdma是几g的技术)

    cdma是几g网络(cdma是几g的技术)

  • 淘宝服务市场可以申请退款吗(淘宝服务市场可信吗)

    淘宝服务市场可以申请退款吗(淘宝服务市场可信吗)

  • 钉钉打卡每次都要人脸识别吗(钉钉打卡每次都要人脸识别怎么办)

    钉钉打卡每次都要人脸识别吗(钉钉打卡每次都要人脸识别怎么办)

  • 微信转出的钱怎么撤回(微信转出的钱怎么追回来对方已经把我拉黑)

    微信转出的钱怎么撤回(微信转出的钱怎么追回来对方已经把我拉黑)

  • 局域网的简称是什么(局域网的英文缩写为( ))

    局域网的简称是什么(局域网的英文缩写为( ))

  • 苹果手机怎么测wifi网速(苹果手机怎么测温度室内温度)

    苹果手机怎么测wifi网速(苹果手机怎么测温度室内温度)

  • 小米手机可以实况拍照(小米手机可以实现语音唤醒吗)

    小米手机可以实况拍照(小米手机可以实现语音唤醒吗)

  • 手机充电器多少w功率(手机充电器多少钱一个)

    手机充电器多少w功率(手机充电器多少钱一个)

  • 字幕打轴是什么意思(字幕打轴软件)

    字幕打轴是什么意思(字幕打轴软件)

  • 苹果11微信提示音怎么换(苹果11微信提示音怎么改其他声音)

    苹果11微信提示音怎么换(苹果11微信提示音怎么改其他声音)

  • 小米9pro可以插4g卡吗(小米9 pro支持5g网络吗)

    小米9pro可以插4g卡吗(小米9 pro支持5g网络吗)

  • blnal30是什么型号(bln_al30)

    blnal30是什么型号(bln_al30)

  • 什么是pathon语言(pathonize)

    什么是pathon语言(pathonize)

  • pot tl00a是什么型号(pot-tl00a价格)

    pot tl00a是什么型号(pot-tl00a价格)

  • word占位符怎么取消(word占位符怎么居中)

    word占位符怎么取消(word占位符怎么居中)

  • myeclip和eclipse区别(eclipse和myeclipse有区别吗)

    myeclip和eclipse区别(eclipse和myeclipse有区别吗)

  • 苹果xsmax耳机是无线的吗(苹果xsmax耳机长什么样)

    苹果xsmax耳机是无线的吗(苹果xsmax耳机长什么样)

  • 荣耀20是什么散热(荣耀20是什么芯片?)

    荣耀20是什么散热(荣耀20是什么芯片?)

  • 5g商用牌照是什么(5g商用牌照发放的上市公司)

    5g商用牌照是什么(5g商用牌照发放的上市公司)

  • 特拉凯城堡博物馆,立陶宛特拉凯 (© Andrius Aleksandravicius/Alamy)(特拉凯城堡是哪个国家)

    特拉凯城堡博物馆,立陶宛特拉凯 (© Andrius Aleksandravicius/Alamy)(特拉凯城堡是哪个国家)

  • 外资企业内资企业
  • 所得税预缴怎么做分录
  • 其他资本公积可以是负数吗
  • 银行结息计入什么费用
  • 企业缴纳残疾人保证金按什么标准缴纳
  • 出让固定资产怎样计算增值税
  • 坏账准备期末应有余额怎么算
  • 商业承兑汇票贴现手续费是多少
  • 流动比率计算公式速动比率
  • 租的办公室要交税么
  • 购买电视机产生的费用
  • 自然人销售固定资产
  • 劳务派遣劳务费发票怎么开
  • 电子承兑到期收款怎么做账务
  • 一般纳税人税控盘维护费会计分录
  • 购销合同印花税按70%
  • 参展补助
  • 汽车修理费抵扣怎么做账
  • 企业医保分几种
  • 或有事项确认预计负债的分录
  • 公司筹建期间发生的业务招待费,如何税前扣除
  • 长期待摊费用摊销明细表
  • 在建工程的二级明细的讲解
  • linux 传输文件
  • php的使用
  • vue中使用v-for指令时 为什么要加 key解释正确的是
  • 一本书装订费多少钱
  • php7.0
  • msmpeng.exe 是什么
  • php io操作
  • 禁止扣除项目有什么
  • chattr
  • php文件缓存方法有哪些
  • 视同销售收入税法处理?
  • 辞退员工福利
  • 建筑企业印花税应税凭证名称
  • 会计核算的作用,意义
  • 代开发票要带什么资料?
  • 现金预算包括哪些内容,来源是什么
  • 承兑汇票到期取现手续费
  • 稽查跨年进项税额转出要调整所得税吗
  • 应扣未扣税款对纳税人的处理
  • 购买劳务费会计分录
  • 汽车高速公路收费卡
  • 不动产发票开具规则
  • 净水设备配件计算方法
  • 4s店收到红字发票怎么开
  • 存放在仓库中的原材料
  • 过路费油费计入什么费用
  • 筹建期间开办费跨年
  • 客户到我公司签字怎么说
  • 固定资产处置有什么问题
  • 支付劳务费需要什么原始凭证
  • MySQL 5.0.96 for Windows x86 32位绿色精简版安装教程
  • sqlserver中通过osql/ocmd批处理批量执行sql文件的方法
  • win10开始按钮点不动
  • 解析包错误怎么解除
  • 分区时把磁盘格式化了,如何恢复
  • 电脑svchost占用cpu很大
  • windows Server 2008各版本区别详解
  • macbook key
  • centos 安装选择
  • win7系统怎么给文件夹设置密码
  • windows10分辨率太高
  • Win10 Mobile 10586.164上手体验视频评测
  • linux diy
  • 五步轻松实现zTree的使用
  • 90后的毕业照
  • cocos2dx入门
  • cocos2d-x安装
  • nodejs爬取数据
  • linux一共多少命令
  • cocos2djs
  • 简单的jquery插件实例
  • netmon.exe
  • Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
  • JS+CSS实现仿雅虎另类滑动门切换效果
  • python文件文件夹操作
  • python:\n
  • 欠账6万怎么还
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设