都2023年了,怎么文件预览还这么难!

发现了问题之后,就想着能不能实现一个简略的VUE组件库,可能解决以上问题,让老手前端,可能十分高效的实现文件预览工作。

于是,我冀望开发一个vue-office组件库,它必须满足以下3个要求

  • 应用肯定要简略,对老手要敌对,即传递一个文件地址,就可实现预览
  • 提供多种文件的一站式预览解决方案,解决常见的docx、excel、pdf三种文件的预览
  • 预览成果也好,不只是对内容预览,也要反对款式

要求明确了,实现就绝对简略了,从github上筛选每个文档最优的预览计划,而后封装成VUE组件,然而坑还是十分多的,文章最初一部分介绍。

应用

查看demo演示

github源码

装置

有三个组件,能够别离依据须要进行装置

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

应用示例

docx文档的预览

<template>  <vue-office-docx :src="docx" @rendered="rendered"/></template><script>//引入VueOfficeDocx组件import VueOfficeDocx from '@vue-office/docx'export default {  components:{    VueOfficeDocx  },  data(){    return {      docx: 'http://static.shanhuxueyuan.com/test6.docx' //设置文档地址    }  },  methods:{    rendered(){      console.log("渲染实现")    }  }}</script>复制代码

excel文档预览

<template>  <vue-office-excel :src="excel" @rendered="rendered"/></template><script>//引入VueOfficeExcel组件import VueOfficeExcel from '@vue-office/excel'//引入相干款式import '@vue-office/excel/lib/index.css'export default {  components:{    VueOfficeExcel  },  data(){    return {      excel: 'http://static.shanhuxueyuan.com/demo/excel.xlsx'//设置文档地址    }  },  methods:{    rendered(){      console.log("渲染实现")    }  }}</script>复制代码

pdf文档预览

<template>  <vue-office-pdf :src="pdf" @rendered="rendered"/></template><script>//引入VueOfficePdf组件import VueOfficePdf from '@vue-office/pdf'export default {  components:{    VueOfficePdf  },  data(){    return {      pdf: 'http://static.shanhuxueyuan.com/test.pdf' //设置文档地址    }  },  methods:{    rendered(){      console.log("渲染实现")    }  }}</script>复制代码

整个应用形式非常简单,基本上给定文档的src地址,或者是上传文件的ArrayBuffer、Blob格局数据就可实现预览,具体办法见github中的介绍。

github源码