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

  • excel怎么把表格拉大(excel怎么把表格横竖调换)

    excel怎么把表格拉大(excel怎么把表格横竖调换)

  • steam手机令牌换手机怎么办(steam手机令牌换绑后多久可以交易)

    steam手机令牌换手机怎么办(steam手机令牌换绑后多久可以交易)

  • 小米10接电话滑动方式怎么改(小米10接电话滑不动屏幕)

    小米10接电话滑动方式怎么改(小米10接电话滑不动屏幕)

  • 怎么查看哔哩哔哩登录历史(怎么查看哔哩哔哩账号)

    怎么查看哔哩哔哩登录历史(怎么查看哔哩哔哩账号)

  • 苹果官方手机壳为什么不全包(苹果官方手机壳套上去的动画)

    苹果官方手机壳为什么不全包(苹果官方手机壳套上去的动画)

  • 小米8青春版支持投屏吗(小米8青春版支持OTG功能吗)

    小米8青春版支持投屏吗(小米8青春版支持OTG功能吗)

  • 触控采样率是什么意思(触控采样率是不是越高越好)

    触控采样率是什么意思(触控采样率是不是越高越好)

  • 小米10充电要多久呀(小米10充电要多久)

    小米10充电要多久呀(小米10充电要多久)

  • 家里网络信号不好,与路由器有关系吗(家里网络信号不好怎么办)

    家里网络信号不好,与路由器有关系吗(家里网络信号不好怎么办)

  • qq群视频通话最多几个人

    qq群视频通话最多几个人

  • gpu和cpu运算能力的区别(gpu运算和cpu运算的区别)

    gpu和cpu运算能力的区别(gpu运算和cpu运算的区别)

  • qq邮箱发视频没有声音(qq邮箱发的视频为什么没有声音)

    qq邮箱发视频没有声音(qq邮箱发的视频为什么没有声音)

  • 淘宝取消订单有什么影响(淘宝取消订单有赔偿吗)

    淘宝取消订单有什么影响(淘宝取消订单有赔偿吗)

  • 荣耀30s摄像头是索尼的吗(荣耀30s摄像头是什么型号)

    荣耀30s摄像头是索尼的吗(荣耀30s摄像头是什么型号)

  • 手机用了两年,现在太卡了怎么办(手机用了两年发烫是什么原因)

    手机用了两年,现在太卡了怎么办(手机用了两年发烫是什么原因)

  • 微信设置黑名单后在哪取消(微信设置黑名单在哪里找到)

    微信设置黑名单后在哪取消(微信设置黑名单在哪里找到)

  • ps颜色模式8位和16位的区别(ps颜色模式8位和6位)

    ps颜色模式8位和16位的区别(ps颜色模式8位和6位)

  • 手机投屏必须要wifi么(手机投屏必须要开蓝牙吗)

    手机投屏必须要wifi么(手机投屏必须要开蓝牙吗)

  • 苹果7怎么设置4g网络(苹果7怎么设置小圆点)

    苹果7怎么设置4g网络(苹果7怎么设置小圆点)

  • 电脑黑屏按什么键恢复(电脑黑屏按什么键恢复亮屏)

    电脑黑屏按什么键恢复(电脑黑屏按什么键恢复亮屏)

  • 开机一键还原win7系统(开机一键还原win7系统按哪个键)

    开机一键还原win7系统(开机一键还原win7系统按哪个键)

  • 安卓手机怎么把信号变成数字(安卓手机怎么把时间放到桌面上)

    安卓手机怎么把信号变成数字(安卓手机怎么把时间放到桌面上)

  • 讯飞输入法怎么设置打字能出相对应的表情(讯飞输入法怎么关闭键盘声音)

    讯飞输入法怎么设置打字能出相对应的表情(讯飞输入法怎么关闭键盘声音)

  • vivoy93快捷键在哪设置(vivoy93怎么设置快捷)

    vivoy93快捷键在哪设置(vivoy93怎么设置快捷)

  • 怎么用手机开电视(怎么用手机开电动车)

    怎么用手机开电视(怎么用手机开电动车)

  • 虎刺梅怎么养殖(图文)(虎刺梅怎么养殖视频)

    虎刺梅怎么养殖(图文)(虎刺梅怎么养殖视频)

  • <一>类,对象,this指针(对象是类的实例,一个对象必须属于一个已知的类)

    <一>类,对象,this指针(对象是类的实例,一个对象必须属于一个已知的类)

  • 帝国cms模板开发常用技巧总结(帝国cms模型)

    帝国cms模板开发常用技巧总结(帝国cms模型)

  • 进口关税和增值税可以抵扣吗
  • 企业所得税法
  • 所得税多交退税分录
  • 股份支付为什么计入股本溢价
  • 分公司法人必须是总公司法人吗
  • 发票章坏了能自己刻吗
  • 减免税属于政府转移支付吗
  • 个人所得税本期免税收入是指什么
  • 上季度所得税申报怎么填
  • 个体工商户如何注册
  • 专票红冲后还需重新开票吗
  • 财务费用做什么明细账
  • 社保滞纳金可以计入管理费用吗为什么
  • 住房按揭贷款贷后检查内容
  • 新产品开发费用怎么扣除
  • 车改补贴是否计入工资总额
  • 增值税普通发票和普通发票的区别怎么交税
  • 查土地补贴到啥单位查明
  • 上月税没报,可以开发票吗
  • 行邮税的税率档次
  • 网上认证增值税专用发票步骤图解
  • 以公允价值模式后续计量的投资性房地产无须计提减值
  • 怎么分辨是否清真食品
  • 原材料增值税怎么算
  • 银行转账取得的收据
  • 固定资产折旧转入什么科目
  • 代扣代缴增值税怎么申报
  • 备用金转账个人能转吗
  • 固定资产作为投资入股为何体现在资本公积
  • 新版edge浏览器兼容性视图怎么设置
  • php测试成功的邮件是什么
  • 银行退回手续费的账务处理
  • 总公司人员的工资子公司可以发吗
  • 员工的医药费
  • 罚款在企业所得税前可以扣除吗
  • 长期借款利息调整会计分录
  • php的foreach循环语句
  • 企业计提的医疗保险属于企业设定提存计划的内容
  • 一般纳税人企业所得税税率2023
  • 零申报企业所得税季度申报表怎么填写
  • 股权出质有时间限制吗
  • 每股收益率计算公式举例
  • 应付账款账户的结构与什么账户相似
  • 企业公司怎么申请
  • mongodb operator
  • 电子钥匙报税
  • 递延所得税如何理解
  • 报销 增值税专用发票
  • 如何进行汇算清缴
  • 老板想提取销售怎么办
  • 未分配利润核销不良贷款
  • 政府无偿划拨土地如何摊销
  • 企业净利润的分配顺序
  • 出租办公楼收入属于收入吗
  • 新成立的公司购买的家具可以计入主营业务成本吗
  • sql server分页查询sql语句
  • xp禁用win键
  • unix vi命令
  • bios里没有启动项设置
  • Windows7更改用户名
  • 64位win10预览版10565更新补丁KB3105208后蓝屏怎么办?
  • win7任务栏怎么全部显示出来
  • Win10 Mobile 10586.29重要更新 可以玩wp7中的游戏
  • win8系统怎么设置开机密码
  • bat for do
  • jQuery实现select模糊查询(反射机制)
  • nodejsweb框架
  • 飞行歌曲
  • cocos设置中文
  • jQuery ajax的功能实现方法详解
  • unity动画animator
  • ubuntu下安装win10
  • 基于python的研究
  • python mor
  • 卷票真伪查询系统国税
  • 包装物押金收入含税吗
  • 国家税务局陕西电子税务局app
  • 重庆电子税务局怎么绑定办税人员
  • 港澳台人士可以在上海申请积分吗
  • 上海买房退税政策2023最新
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设