vue实现word、excel、pdf在线预览

一、word在线预览

(使用过程中发现 docx-preview@0.1.18不兼容谷歌70.0.3538.110版本 降低docx-preview版本至0.1.8解决)

npm uninstall docx-preview
yarn add docx-preview@0.1.8

1. 

yarn add docx-preview

2.

<div ref="childRef" class="childRef"></div>

3.

import { renderAsync } from 'docx-preview';

4.

filePath:"", //文件路径

5.

this.Preview()

6.

Preview(){
        let docx = require('docx-preview');
            this.$nextTick(() => {
              fetch(this.filePath)
                .then((response) => {
                  let docData = response.blob(); //将文件转换成bolb形式
          
                   //选择要渲染的元素
                  let childRef = document.getElementsByClassName('childRef');
          
                   //用docx-preview渲染
                  renderAsync(docData, childRef[0]).then((res) => {
                    console.log('res---->', res);
                  });
                })
                .catch((error) => {
                  console.log(error);
                });
            });
      },

7.

/deep/.docx-wrapper{
    background:white;
    display: block;
    padding:10px 30px;
  }
/deep/.docx-wrapper > section.docx {
   width: 100% !important;
 }

二、excel和pdf在线预览

npm install @vue-office/excel vue-demi
npm install @vue-office/pdf vue-demi
npm install @vue/composition-api //vue2.6版本以下需安装
import VueOfficeExcel from '@vue-office/excel'
import VueOfficePdf from '@vue-office/pdf'
import '@vue-office/excel/lib/index.css'
components:{
     VueOfficeExcel,
     VueOfficePdf
},
<vue-office-excel :src="previewUrl" style="height: 100vh;"  />
<vue-office-pdf :src="previewUrl" />

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值