位置: 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)(奥杜邦的祈祷经典语录)

  • vivox70pro+充电多少瓦(vivox70pro充电多久)

    vivox70pro+充电多少瓦(vivox70pro充电多久)

  • 如何取消华为应用市场安全检测(如何取消华为应用市场密码)

    如何取消华为应用市场安全检测(如何取消华为应用市场密码)

  • 华为畅享9和荣耀20青春版对比(华为畅享9和荣耀7x哪个好)

    华为畅享9和荣耀20青春版对比(华为畅享9和荣耀7x哪个好)

  • 华为手机晚上拍照怎么开闪光灯(华为手机晚上拍人像怎么调参数)

    华为手机晚上拍照怎么开闪光灯(华为手机晚上拍人像怎么调参数)

  • 朋友圈发完后还能改权限吗(朋友圈发完后还能修改定位吗)

    朋友圈发完后还能改权限吗(朋友圈发完后还能修改定位吗)

  • 修补工具快捷键(修补工具快捷键设置)

    修补工具快捷键(修补工具快捷键设置)

  • 打印机后台程序没有运行(打印安装程序怎么安装)

    打印机后台程序没有运行(打印安装程序怎么安装)

  • 微信顶部显示不全(微信顶部显示不是好友)

    微信顶部显示不全(微信顶部显示不是好友)

  • 群语音通话没有被邀请会显示吗(群里语音电话没有声音怎么回事)

    群语音通话没有被邀请会显示吗(群里语音电话没有声音怎么回事)

  • 锂电池保护板输出电压低(锂电池保护板输出电压与电池电压不一致)

    锂电池保护板输出电压低(锂电池保护板输出电压与电池电压不一致)

  • dmp文件可以删除么(DMP文件可以删除吗)

    dmp文件可以删除么(DMP文件可以删除吗)

  • 显卡更新驱动有必要吗(显卡更新驱动有拖影)

    显卡更新驱动有必要吗(显卡更新驱动有拖影)

  • 苹果手机bs机器什么意思(苹果手机bs机器是什么)

    苹果手机bs机器什么意思(苹果手机bs机器是什么)

  • 微信步数要开定位吗(微信运动步数要开定位吗)

    微信步数要开定位吗(微信运动步数要开定位吗)

  • 7p可以更新ios13吗(7p可以更新ios15.7)

    7p可以更新ios13吗(7p可以更新ios15.7)

  • iphone11是不是三个摄像头(iphone11是三摄吗)

    iphone11是不是三个摄像头(iphone11是三摄吗)

  • 抖音是打开才会定位吗(抖音是打开才会推送吗)

    抖音是打开才会定位吗(抖音是打开才会推送吗)

  • 华为potal00a是什么型号(华为型号potal00a啥手机)

    华为potal00a是什么型号(华为型号potal00a啥手机)

  • 58同城电话号码获取频繁怎么回事(天水58同城电话号码)

    58同城电话号码获取频繁怎么回事(天水58同城电话号码)

  • ine-al00是什么型号(ine-al00参数)

    ine-al00是什么型号(ine-al00参数)

  • 华为p30怎么下载两个微信(华为p30怎么下载空调遥控器)

    华为p30怎么下载两个微信(华为p30怎么下载空调遥控器)

  • x23手机录音在哪找(vivox23录音在哪里找到)

    x23手机录音在哪找(vivox23录音在哪里找到)

  • 猎豹浏览器如何缓存视频(猎豹浏览器如何卸载)

    猎豹浏览器如何缓存视频(猎豹浏览器如何卸载)

  • 软件开发自学还是培训(软件开发自学还是培训好)

    软件开发自学还是培训(软件开发自学还是培训好)

  • element-ui动态表单和验证(elementui动态表单数据回显)

    element-ui动态表单和验证(elementui动态表单数据回显)

  • CSS把图片设置为背景(如何用css设置图片大小)

    CSS把图片设置为背景(如何用css设置图片大小)

  • 支付给员工的工资属于什么科目
  • 报销为什么不能多家赔付
  • 增值税税控系统专用设备
  • 深圳增值税普通发票查询真伪
  • 每股收益无差别点计算公式怎么解
  • 税控盘锁死日期查询
  • 工亡赔偿金如何支付
  • 应付账款坏账了怎么处理
  • 软件工程质保金
  • 职工福利费开了没有发票
  • 劳务公司劳务工资做什么科目
  • 补交的增值税可以从留抵里面扣嘛
  • 利润表的利息费用怎么算出来的
  • 销售产品产生的运杂费分录
  • 视同销售税率如何确定?
  • 公司的日常开销开发票怎么写
  • 职工旅游费计入什么科目
  • 材料采购计入什么会计科
  • 增值税零税率发票开具条件
  • 营改增后附加税费入应交税费还是营业税金及附加
  • 以公允价值模式后续计量的投资性房地产无须计提减值
  • 定额手撕发票怎么买
  • 合伙项目如何进行分红
  • 向其他企业捐赠现金所有者权益
  • 企业所得税季度预缴可以弥补以前年度亏损吗
  • 小企业成本核算方法有哪几种
  • 期末未抵扣数
  • 开发商未出售的房子有产权证吗
  • 长期待摊费用属于什么要素
  • PHP:oci_internal_debug()的用法_Oracle函数
  • 平安树的养殖方法和浇水时间
  • 电脑上一键复制是哪个键
  • 技术转市场到底是不是个正确的选择
  • 产生永久性差异时为什么计税基础等于账面价值
  • php获取url内容
  • laravel运行
  • dns管理控制台在哪里
  • 原始凭证一般没有
  • 主营业务成本记错了怎么调整
  • 计提折旧是怎么计算的
  • 进项税抵增值税
  • 补开上年发票的税务处理要怎么做?
  • 资质使用费怎么收
  • 织梦模板官网
  • 记账凭证去根据什么填制
  • 处置固定资产净收益属于利得吗
  • 存货是指企业在生产经营过程中为销售或耗用
  • 只有进项税月末要转入未交增值税么
  • 稳岗返还资金最新账务处理
  • 消费税的应纳税额的计算
  • 房地产契税新政策2023
  • 零余额账户收到国税局退款
  • 记账凭证分类
  • 公司库存现金提现流程
  • 总资产报酬率的利息支出是财务费用吗
  • 营业执照怎么换地址
  • WinXP系统VPN连接经常性自动断开的4个解决方法
  • windows2008 iis安装
  • mac复制文件路径后怎么粘贴
  • freebsd常用命令
  • macu盘安装windows
  • windows7手写功能
  • xp系统还原系统
  • os x 10.10.5
  • windows8安装步骤
  • win7系统如何查看内存条型号
  • 安装win8.1一直卡着不动
  • win10 rs3
  • 安卓注入工具
  • 列举css的三种应用方式
  • js 列表
  • cocos2dx游戏开发教程
  • shell输出1到100
  • unityui播放视频
  • python能爬取app吗
  • 使用jQuery Rotare实现微信大转盘抽奖功能
  • 编程 delphi
  • 澳门国际金融税务局
  • 发票真伪查询国税官网12366
  • 应聘保险公司需要了解什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设