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

  • 扁平风网页设计购买网站域名是网站存在的根本

    扁平风网页设计购买网站域名是网站存在的根本

  • 小米civi怎么关闭负一屏(小米Civi怎么关闭充电声音)

    小米civi怎么关闭负一屏(小米Civi怎么关闭充电声音)

  • 华为Mate X2各版本的售价是多少

    华为Mate X2各版本的售价是多少

  • 打开app有广告怎么办(打开app时候有广告)

    打开app有广告怎么办(打开app时候有广告)

  • 苹果手机safari在哪里打开(苹果 safari)

    苹果手机safari在哪里打开(苹果 safari)

  • 微信二维码不小心重置了(微信二维码不小心发给别人了)

    微信二维码不小心重置了(微信二维码不小心发给别人了)

  • 手机qq没有分享屏幕怎么办(手机qq没有分享屏幕图标)

    手机qq没有分享屏幕怎么办(手机qq没有分享屏幕图标)

  • 抖音粉丝未授权暂不支持查看什么意思(抖音粉丝未授权暂不支持查看)

    抖音粉丝未授权暂不支持查看什么意思(抖音粉丝未授权暂不支持查看)

  • 抖音改不了资料怎么办(抖音改不了资料说服务器升级中)

    抖音改不了资料怎么办(抖音改不了资料说服务器升级中)

  • 苹果手机5g有哪些型号(苹果手机5g哪里开)

    苹果手机5g有哪些型号(苹果手机5g哪里开)

  • creative cloud卸载不掉(creative cloud卸载后果)

    creative cloud卸载不掉(creative cloud卸载后果)

  • windows系统崩溃后怎么恢复(win10系统崩溃后可以通过什么来恢复)

    windows系统崩溃后怎么恢复(win10系统崩溃后可以通过什么来恢复)

  • 在计算器上ce是什么键(在计算器上ce是什么键ac是什么键)

    在计算器上ce是什么键(在计算器上ce是什么键ac是什么键)

  • cad是用来绘制什么的(cad是用来做什么的)

    cad是用来绘制什么的(cad是用来做什么的)

  • 抖音号被封禁还可以用吗(抖音号封禁还能用吗)

    抖音号被封禁还可以用吗(抖音号封禁还能用吗)

  • 华为怎么打开受限应用(华为手机受信任设备怎么设置)

    华为怎么打开受限应用(华为手机受信任设备怎么设置)

  • 大众点评匿名在哪里找(大众点评上的匿名评价怎么找到他)

    大众点评匿名在哪里找(大众点评上的匿名评价怎么找到他)

  • iphone11是双卡双待吗(iphone11是双卡双待吗怎么只有一个卡槽)

    iphone11是双卡双待吗(iphone11是双卡双待吗怎么只有一个卡槽)

  • 苹果xs怎么拍广角(苹果xs怎么拍广角模糊)

    苹果xs怎么拍广角(苹果xs怎么拍广角模糊)

  • stdio.h是什么头文件(stdio.h作用)

    stdio.h是什么头文件(stdio.h作用)

  • 利用网速测试器测网速很准吗?(利用网速测试器测试)

    利用网速测试器测网速很准吗?(利用网速测试器测试)

  • window.print() 前端页面打印与预览PDF(前端 input)

    window.print() 前端页面打印与预览PDF(前端 input)

  • 蔚蓝色的海王星 (© NASA/JPL)(蔚蓝色的海王星是什么歌)

    蔚蓝色的海王星 (© NASA/JPL)(蔚蓝色的海王星是什么歌)

  • 织梦面包屑导航最后的分隔符大于号去掉方法

    织梦面包屑导航最后的分隔符大于号去掉方法

  • 跨年的所得税会计分录
  • 年终奖怎么计税的
  • 用友取消操作在哪里
  • 怎么从营业执照上看是不是一般纳税人
  • 公司刻一套章子多少钱
  • 预算分配比例与国库不一样
  • 交易性金融资产和其他权益工具投资的区别
  • 企业所得税的常设机构
  • 新能源汽车补贴2023年政策
  • 商业企业购入商品会计分录
  • 微信支付工资怎么做账
  • 冲销预付账款后该如何做账务处理呢?
  • 企业多缴纳所得税怎么办
  • 招聘签合同
  • 小微企业享受优惠
  • 发票认证只认证进项吗
  • 销售退回涉及的科目
  • 当企业预收款项无需退回
  • 投资收益科目的借贷方向
  • 当月的费用次月入账可以么
  • 增值税补开发票
  • php内存占用
  • ipados15什么时候发布
  • php面向对象是什么意思
  • php变量如何定义
  • 代理业务资产的意思
  • 出差没有发票,会计如何入账
  • 企业之间拆借资金
  • 会计不忙
  • 存货盘盈盘亏的账务处理
  • 司法拍卖所购的房产
  • 简述gnss数据处理流程
  • php十进制转二进制算法
  • 税控盘全额抵扣发票怎么勾选
  • 定额发票验旧日期怎么算
  • 预收账款期末余额在借方还是贷方
  • mysql创建存储过程sql语句
  • 销售额多少需要纳税
  • 股权分配和利润的关系
  • 股权收购协议书实际案例
  • 小规模纳税人固定资产原值含税吗
  • 生育津贴和产假工资就高原则
  • 进项抵扣项目
  • 会计核算职能有全面性吗
  • 哪些项目可以计提汇兑损益
  • 进口贴息资金
  • 宾馆收入怎么做账
  • 收到投资款证明怎么做账
  • 现金流量少
  • 房地产企业取得政府补助
  • 农业开发公司的名称有哪些
  • 股票股利应该何时分摊
  • 购买税控盘用银行抵扣吗
  • 增值税递延纳税
  • 取得资产需要付出成本吗
  • 增值税普通发票怎么开
  • 企业发生的经济业务主要有哪些
  • 对公受托理财申购怎么写
  • 母公司划拨土地给全资子公司需要上税吗?
  • 应收账款和应付账款属于什么科目
  • 水利建设基金缴纳增值税开始缴纳
  • linux常用命令 删除
  • xp怎么装系统步骤图解
  • linux ftp 服务
  • mac光盘无法退出怎么解决
  • win7的网络设置
  • chm文件打不开的解决方法
  • jquery链式操作原理
  • r语言和python画图
  • jquery使用jsonp
  • linux安全加固的内容是什么
  • linux如何查看当前shell
  • jquery改变img的src
  • 纸质发票怎么查电子发票
  • 海关进口增值税如何入账
  • 合肥新房商铺
  • 地税局属于市直单位吗
  • 佩兰诗胶原蛋白填充霜真的有效果吗
  • 本期应纳的增值税
  • 车辆购置税怎么做账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设