# vue-office 支持多种文件(**docx、excel、pdf**)预览的vue组件库,支持vue2/3。也支持非Vue框架的预览。 [《演示效果》](https://501351981.github.io/vue-office/examples/dist/) [《使用非Vue框架(原生js、React等)、或者Vue里面报错,看这里》](https://501351981.github.io/vue-office/examples/docs/guide/js-preview.html) ## 功能特色 - 一站式:提供word(.docx)、pdf、excel(.xlsx, .xls)多种文档的在线预览方案,有它就够了 - 简单:只需提供文档的src(网络地址)即可完成文档预览 - 体验好:选择每个文档的最佳预览方案,保证用户体验和性能都达到最佳状态 - 性能好:针对数据量较大做了优化 ## 安装 ```shell #docx文档预览组件 npm install @vue-office/docx vue-demi@0.14.6 #excel文档预览组件 npm install @vue-office/excel vue-demi@0.14.6 #pdf文档预览组件 npm install @vue-office/pdf vue-demi@0.14.6 ``` 如果是vue2.6版本或以下还需要额外安装 @vue/composition-api ```shell npm install @vue/composition-api ``` ## 使用示例 文档预览场景大致可以分为两种: - 有文档网络地址,比如 https://***.docx - 文件上传时预览,此时可以获取文件的ArrayBuffer或Blob ### .docx文件预览 **使用网络地址预览** ```vue ``` **上传文件预览** 读取文件的ArrayBuffer ```vue ``` **二进制文件预览** 如果后端给的不是CDN地址,而是一些POST接口,该接口返回二进制流,则可以调用接口获取文件的ArrayBuffer数据,传递给src属性。 ```vue ``` ### excel文件预览 通过网络地址预览示例如下,通过文件ArrayBuffer预览和上面docx的使用方式一致。 ```vue ``` ### pdf文件预览 通过网络地址预览示例如下,通过文件ArrayBuffer预览和上面docx的使用方式一致。 ```vue ``` ## 打赏支持 **如果该项目帮您节省了开发时间**,可以请作者喝杯咖啡,加微信交个朋友,交流前端问题。不能打赏的朋友麻烦帮点个免费的赞 赞助二维码 ## 打赏50及以上可向作者索要源码(仅限自己项目使用,不能复制开源) 打赏的朋友欢迎**添加微信**,交流前端开发中遇到的技术、问题和困惑。 >【**仅添加**打赏过的用户,不定期删除屏蔽朋友圈的好友(为什么打赏了才能微信问问题?那别人为什么要先付出时间去解答你的问题?都是成年人了,人与人之间是价值交换,不是单向付出)】 > [常见问题](https://501351981.github.io/vue-office/examples/docs/guide/faq.html) 个人微信