当前位置: 首页 > news >正文

vue 文件预览(docx、.xlsx、pdf)

1.ifream

<iframe src="" ></iframe> 

注: src里面是文件地址

2.vue-office

     支持vue2和vue3提供docx、.xlsx、pdf多种文档的在线预览方案

    2.1安装

#docx文档预览组件
npm install @vue-office/docx vue-demi#excel文档预览组件
npm install @vue-office/excel vue-demi#pdf文档预览组件
npm install @vue-office/pdf vue-demi

如果是vue2.6版本或以下还需要额外安装 @vue/composition-api

npm install @vue/composition-api

代码(与ifrem用法类似)

doc:目前只支持docx文件预览,不支持doc文件

excil:目前只支持xlsx文件预览,不支持xls文件

pdf:无

注:doc,excil,pdf代码基本一致(以docx为例)

<template><vue-office-docx:src="docx"style="height: 100vh;"@rendered="renderedHandler"@error="errorHandler"/>
</template><script>
//引入VueOfficeDocx组件
import VueOfficeDocx from '@vue-office/docx'
//引入相关样式
import '@vue-office/docx/lib/index.css'export default {components: {VueOfficeDocx},data() {return {docx: '' //设置文档网络地址,可以是相对地址}},methods: {renderedHandler() {console.log("渲染完成")},errorHandler() {console.log("渲染失败")}}
}
</script>

上传文件预览: 如果是原生的input type="file",也是类似的

<template><div id="docx-demo"><el-upload:limit="1":file-list="fileList"accept=".docx":beforeUpload="beforeUpload"action=""><el-button size="small" type="warning">点击上传</el-button></el-upload><vue-office-docx :src="src"/></div>
</template><script>
import VueOfficeDocx from '@vue-office/docx'
import '@vue-office/docx/lib/index.css'export default {components: {VueOfficeDocx},data() {return {src: '',fileList: []}},methods: {//在beforeUpload中读取文件内容beforeUpload(file) {let reader = new FileReader();reader.readAsArrayBuffer(file);reader.onload = (loadEvent) => {let arrayBuffer = loadEvent.target.result;this.src = arrayBuffer};return false}}
}
</script>

相关文章:

  • 飞天使-k8s知识点28-kubernetes散装知识点5-helm安装ingress
  • 黑马鸿蒙笔记2
  • Python从零到一构建GPT模型
  • 统信 UOS V20 一键安装 Oracle 12CR2(220118)单机版
  • Android RecyclerView 滑动后选中的条目居中显示
  • 专升本-大数据
  • 创新研报 | 2024+人工智能安全报告
  • 2015年认证杯SPSSPRO杯数学建模B题(第一阶段)替换式密码全过程文档及程序
  • [深度学习]yolov8+pyqt5搭建精美界面GUI设计源码实现二
  • 农村分散式生活污水分质处理及循环利用技术指南
  • 01-机器学习概述
  • Linu修改端口号和密码
  • 【数仓】DataX软件安装及配置,从mysql同步到hdfs
  • Spring高频面试题
  • docker快速安装Es和kibana
  • 77. Combinations
  • AngularJS指令开发(1)——参数详解
  • codis proxy处理流程
  • Fabric架构演变之路
  • Java 23种设计模式 之单例模式 7种实现方式
  • Making An Indicator With Pure CSS
  • Mysql数据库的条件查询语句
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • php面试题 汇集2
  • Python 反序列化安全问题(二)
  • Python实现BT种子转化为磁力链接【实战】
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 官方解决所有 npm 全局安装权限问题
  • 判断客户端类型,Android,iOS,PC
  • 如何解决微信端直接跳WAP端
  • 入门到放弃node系列之Hello Word篇
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 微信开放平台全网发布【失败】的几点排查方法
  • 学习笔记TF060:图像语音结合,看图说话
  • 异步
  • hi-nginx-1.3.4编译安装
  • ​flutter 代码混淆
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (day 12)JavaScript学习笔记(数组3)
  • (python)数据结构---字典
  • (区间dp) (经典例题) 石子合并
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET 发展历程
  • .net 中viewstate的原理和使用
  • .NET4.0并行计算技术基础(1)
  • .Net7 环境安装配置
  • .NET企业级应用架构设计系列之开场白
  • .pop ----remove 删除
  • @Import注解详解
  • @KafkaListener注解详解(一)| 常用参数详解
  • @RestControllerAdvice异常统一处理类失效原因
  • [ solr入门 ] - 利用solrJ进行检索
  • [1159]adb判断手机屏幕状态并点亮屏幕