news 2026/4/3 5:27: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/4/1 23:09:32

用蒲公英三年,最近发现他们家的Tracup,真香

一、先说蒲公英&#xff1a;真是救了我老命我是一移动端开发&#xff0c;干开发十几年了。以前测试分发那叫一个麻烦&#xff1a;iOS测试&#xff1a;要收集UDID&#xff0c;导证书&#xff0c;打Ad-hoc包&#xff0c;还得让测试连电脑装。测试妹子一多&#xff0c;光加设备就够…

作者头像 李华
网站建设 2026/3/31 7:25:13

试了一下Nano Banana Pro绘图,感觉学术界的天真塌了

科技的飞速发展总是在不经意间打破我们习以为常的认知和界限。当我第一次接触到Nano Banana Pro绘图工具时&#xff0c;内心的震撼不亚于站在崭新的技术洪流面前&#xff0c;目睹着传统学术界的“天真”逐渐崩塌。作为一款结合了人工智能和深度学习技术的智能绘图工具&#xff…

作者头像 李华
网站建设 2026/3/26 15:07:51

TensorRT-LLM多语言推理优化实战

TensorRT-LLM多语言推理优化实战 在A100服务器上部署一个支持中文、阿拉伯语和泰语的翻译服务&#xff0c;输入一段512长度的文本后&#xff0c;系统却突然报出“CUDA out of memory”——这并非个例&#xff0c;而是全球AI工程团队在落地多语言大模型时几乎都会遭遇的“显存雪…

作者头像 李华
网站建设 2026/4/3 3:54:53

本地部署Excalidraw手绘白板指南

本地部署 Excalidraw 手绘白板指南 在远程协作日益频繁的今天&#xff0c;一个轻量、直观且安全的可视化工具几乎成了每个技术团队的刚需。无论是画架构草图、梳理业务流程&#xff0c;还是开一场即兴的头脑风暴&#xff0c;一张“能写会动”的数字白板往往比复杂的建模软件更…

作者头像 李华
网站建设 2026/4/1 19:45:02

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

摘要 随着自动驾驶技术和高级驾驶辅助系统(ADAS)的快速发展,实时准确的车距检测已成为道路安全的关键技术。本文详细介绍了一套完整的基于深度学习的车距检测系统,该系统集成了YOLOv5、YOLOv8和YOLOv10等多种先进的物体检测算法,并配备了直观的PyQt5用户界面。本文将深入…

作者头像 李华
网站建设 2026/3/23 19:29:07

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

摘要 水果识别是计算机视觉领域的一个重要应用场景,在智能农业、自动分拣、智能零售等领域有着广泛的应用前景。本文详细介绍了一个基于YOLO系列算法(从YOLOv5到YOLOv10)的水果识别系统的完整实现,包括数据集准备、模型训练、性能优化以及用户界面的开发。我们将重点介绍Y…

作者头像 李华