在项目中用vue-pdf实现在线预览

在项目中用vue-pdf实现在线预览

首先我们下载vue-pdf依赖包:npm/cnpm i vue-pdf --save

第二部:我们在模板文件中使用

<template>
  <div id="remoteSignature-pages-videoAuthenticationDetails-videoAuthenticationDetails">
    <pdf v-for="i in numPages" :key="i" :src="pdfSrc" 
    :page="i" ref="myPdfComponent"></pdf>
  </div>
</template>

<script>
import pdf from 'vue-pdf';
import CMapReaderFactory from 'vue-pdf/src/CMapReaderFactory.js';// 解决部分文字不显示的问题
export default {
    components: {
       pdf,
    },
    data{
        retuen{
             pdfSrc: '',//pdf路径
             numPages: 1  //  pdf 文件总页数    
        }
    },
    mounted(){
        //在这里请求后台接口,返回pdf的路径/pdf的base64格式的文件流
    },
    methods:{
        GetProtocolQueryBase(basePath){//协议预览
         let datas = 'data:application/pdf;base64,' + basePath;
         this.pdfSrc = pdf.createLoadingTask({ url: datas, CMapReaderFactory });
         this.pdfSrc.promise.then(pdf => {
           this.numPages = pdf.numPages;
         }).catch(err=>{
           console.log("pdf加载失败",err);
        });
       },
    }
    
}
</script>

<style lang="less">

</style>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值