vue实现pdf在线查看功能 vue-pdf

首先用npm安装依赖

 npm install --save vue-pdf

在所需要的的页面中引入

// 在线预览pdf文件
import pdf from 'vue-pdf'
<pdf ref="pdf" :src="pdfUrl" v-for="i in numPages" :key="i" :page='i'>
  </pdf>
data () {
    return {
      numPages: null: '',
      pdfUrl: ``
    }
  },
components: {
  pdf
}
    Taskbook (row) {
      this.$http.get(`url`).then(({
      	data: res
      }) => {
      	if (res.code !== 0) {
      		return this.$message.error(res.msg)
        }
        console.log('查看任务书-->', res)
        if (res.data.length === 0) {
          this.$message({
            message: '未找到PDF文件',
            type: 'warning'
          })
        } else {
        let missionBook = JSON.parse(res.data[0].missionBook)
        this.pdfUrl = `${window.SITE_CONFIG['apiURL']}/attach/download/${missionBook[0].id}?token=${sessionStorage.getItem('token')}`
        this.pdfName = missionBook[0].name
        this.getNumPages()
        }
      }).catch(() => {})
    }
    // 解决pdf只显示第一页的问题
    getNumPages() {
      let loadingTask = pdf.createLoadingTask(this.pdfUrl)
      loadingTask.promise.then(pdf => {
        this.numPages = pdf.numPages
      }).catch(err => {
        console.error('pdf 加载失败-->', err)
      })
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值