vue 使用vue-office预览word、excel,pdf同理

在此,我只使用了docx和excel, pdf我直接使用的iframe进行的展示就不作赘述了

java 复制代码
//docx文档预览组件
npm install @vue-office/docx

//excel文档预览组件
npm install @vue-office/excel

//pdf文档预览组件
npm install @vue-office/pdf

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

java 复制代码
npm install @vue/composition-api/
复制代码
<template>
  <div>
    <input
      id="file"
      ref="files"
      type="file"
      @change="changeHandle"
      multiple="multiple"
    />

    <!-- accept=".doc,.docx,.pdf,.ai,.psd,.xlsx,.xls" -->

    <!-- <vue-office-docx :src="src" @rendered="renderingCompleted" /> -->
    <vue-office-excel
      style="flex: 1; height: 0"
      v-show="src"
      :src="src"
      @rendered="renderingCompleted"
    />
  </div>
</template>

<script>
//引入VueOfficeDocx组件
import VueOfficeDocx from "@vue-office/docx";
//引入相关样式
import '@vue-office/docx/lib/index.css'
import VueOfficeExcel from "@vue-office/excel";
import '@vue-office/excel/lib/index.css'
export default {
  data() {
    return {
      src: "",
    };
  },
  components: {
    VueOfficeDocx,
    VueOfficeExcel,
  },
  mounted() {
    //赋值文档路径 此目录可以是http地址,也可以是本地文件
    //   const src = ref("./src/assets/docx/test.docx");
  },
  methods: {
    // 获取文件 这里是使用的 vue3.0 语法
    changeHandle(event) {
      console.log(event.target.files[0]);

      const file = event.target.files[0];

      let fileReader = new FileReader();
      fileReader.readAsArrayBuffer(file);
      fileReader.onload = () => {
        this.src = fileReader.result;
      };

        // const blob = new Blob([file], { type: "application/pdf;charset=utf-8" });
        // const blob = new Blob([file], { type: file.type });
        // this.src = window.URL.createObjectURL(blob); //这里是通过blob拿到url
        console.log("src--", this.src);
    },
    renderingCompleted() {
      console.log("渲染完成");
    },
  },
};
</script>

<style>
</style>

参考:

1、vue + vue-office 实现多种文件(docx、excel、pdf)的预览

2、vue 预览word、excel、pdf文档 vue-office(VueOfficeDocx、VueOfficeExcel、VueOfficePdf)

3、vue 实现 word/excel/ppt/pdf 等文件格式预览操作

4、npm官网解释vue-office

相关推荐
腻害兔1 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:字典、短信、邮件、通知——后台系统的“基础设施四件套“!
java·前端·vue.js·产品经理·ai编程
腻害兔2 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:支付模块 yudao-module-pay,一个让产品经理都看懂的支付中台设计
java·前端·vue.js·产品经理·ai编程
程序猿乐锅8 小时前
【苍穹外卖 Day12| Excel 入门】
excel
Larcher8 小时前
LangChain RAG 排错实录:.env 为什么没有生效
vue.js·后端
一个写前端的8 小时前
基于 Vue 3 的大文件分片上传组件,支持断点续传、并发上传、失败重试等功能
前端·javascript·vue.js
qq_466302459 小时前
如何在word中添加代码
word
活于未来9 小时前
从零搭建期权波动率曲面可视化平台:FastAPI + Vue 3 实战
vue.js
橘子海全栈攻城狮9 小时前
【最新源码】基于SpringBoot + Vue的超市管理系统的设计与实现D002
java·开发语言·vue.js·spring boot·后端·spring
Cobyte12 小时前
使用 JavaScript 实现有限状态机的经典问题
前端·javascript·vue.js
acheding13 小时前
File System Access API 实战:让网页真正读写本地文件
前端·javascript·vue.js·编辑器·markdown