news 2026/6/10 12:26:43

vue实现文件在线预览功能(包含docx,excel,pdf)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vue实现文件在线预览功能(包含docx,excel,pdf)
npm install--save @vue-office/docx @vue-office/excel @vue-office/pdf vue-demi

或者

yarn add @vue-office/docx @vue-office/excel @vue-office/pdf vue-demi
<template><a-card:bordered="false"><!--查询区域--><a-button type="link"size="small"@click="handlePreview2(record)">预览</a-button><a-modal destroyOnClose:visible="comShow":title="modalTitle":width="dynModelWidth":okButtonProps="{ class:{'jee-hidden': true} }"@cancel="handleCancel"><Watermark:text="watermarkText":opacity="0.3":fontSize="20":rotate="0"/><component:is="renderCom":src="url2"@rendered="rendered"@error="errorHandler"class="size-100"/></a-modal></a-card></template><script>// 引入VueOfficeDocx组件importVueOfficeDocxfrom"@vue-office/docx";// 引入相关样式import"@vue-office/docx/lib/index.css";// 引入VueOfficeExcel组件importVueOfficeExcelfrom"@vue-office/excel";// 引入相关样式import"@vue-office/excel/lib/index.css";// 引入VueOfficePdf组件importVueOfficePdffrom"@vue-office/pdf";exportdefault{name:'MesQualityFileListSearch',mixins:[JeecgListMixin,mixinDevice],components:{VueOfficeDocx,VueOfficeExcel,VueOfficePdf,},data(){return{dynModelWidth:'60%',modalTitle:'',comShow:false,renderCom:"VueOfficeDocx",url2:'',}},methods:{handlePreview2(record){this.getDetail(record.id)},handleCancel(){this.comShow=false;},rendered(){console.log("渲染完成");},errorHandler(){console.log("预览渲染失败,请重试");},/** * 根据文件扩展名渲染指定预览组件 * */getDetail(id){if(id){letparam={id:id,}getAction(this.url.queryDetail,param).then((res)=>{if(res.success){letfileArr=res.result.filesthis.comShow=true;this.dynModelWidth='80%',this.modalTitle=fileArr[0].fileNamethis.url2=fileArr[0].fileUrl console.log(this.url2)// 根据文件格式显示预览组件constfileExtension=fileArr[0].fileName.split(".").pop().toLowerCase();if(fileExtension==="xlsx"){this.renderCom="VueOfficeExcel";}if(fileExtension==="docx"){this.renderCom="VueOfficeDocx";}if(fileExtension==="pdf"){this.renderCom="VueOfficePdf";}}})}},}}</script><style scoped>@import'~@assets/less/common.less';.size-100{width:100%;height:100%;min-height:500px;}</style>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 17:08:03

Android APP之间共享数据

背景&#xff1a; Binder AIDL&#xff0c;Socket可以解决APP之间的通信。 APP之间的数据安全共享该如何实现呢&#xff1f; 方案: 利用ContentProvider和contentResolver可实现在不同应用程序之间的数据共享&#xff0c;并保证被访问数据的安全性。ContentProvider用于暴露…

作者头像 李华
网站建设 2026/6/10 2:07:09

本地部署EmotiVoice实现多音色情感TTS

本地部署 EmotiVoice 实现多音色情感 TTS 在语音合成技术飞速发展的今天&#xff0c;我们早已不再满足于“能说话”的机器声音。真正打动人的&#xff0c;是那些带有情绪、有温度、仿佛真实存在的声音——比如虚拟主播温柔的问候&#xff0c;游戏角色愤怒的怒吼&#xff0c;或…

作者头像 李华
网站建设 2026/6/9 21:20:45

USB设备厂商与产品代码查询指南

USB设备厂商与产品代码查询指南 在日常的系统管理、硬件调试或嵌入式开发中&#xff0c;我们经常需要识别一个插入系统的USB设备究竟是什么。比如当你将一块开发板连上电脑时&#xff0c;lsusb 显示的是 ID 0403:6001 —— 这串数字代表了谁&#xff1f;哪家公司生产的&#x…

作者头像 李华
网站建设 2026/6/9 20:03:55

GPT-SoVITS_V4一键包:轻松实现歌声转换与语音合成

GPT-SoVITS_V4 一键包&#xff1a;轻松实现歌声转换与语音合成 在AI语音技术飞速发展的今天&#xff0c;个性化声音不再是明星或大公司的专属。你有没有想过&#xff0c;只需要一段一分钟的录音——比如你自己读一段新闻、念几句歌词&#xff0c;就能训练出一个“会说会唱”的…

作者头像 李华
网站建设 2026/6/10 17:58:29

基于深度学习的水果新鲜程度检测系统(UI界面+YOLOv8/v7/v6/v5代码+训练数据集)

摘要 随着计算机视觉技术的飞速发展,基于深度学习的目标检测算法在农业领域得到广泛应用。本文详细介绍了一个完整的水果新鲜程度检测系统,该系统采用YOLO系列算法作为核心检测框架,结合精心设计的用户界面和高质量训练数据集。我们将从系统架构、算法原理、数据集构建、模…

作者头像 李华