需求:预览pdf格式的文件
实现:
一 安装
npm install --save vue-pdf
二 引入
import pdf from 'vue-pdf' // 哪个组件用到 在那个里面引入即可
<div class="form"> <p class="arrow" v-if="pageTotalNum>1"> <el-button :type="pageNum>1?'primary':'info'" @click.stop="prePage" >上一页</el-button> {{pageNum}}/{{pageTotalNum}} //pageNum 当前页 ,pageTotalNum 总页数 <el-button :type="pageNum<pageTotalNum?'primary':'info'" @click.stop="nextPage" >下一页</el-button> </p> <pdf class="pdf" ref="pdf" :page="pageNum" @num-pages="pageTotalNum=$event" @link-clicked="page = $event" :src="pdfUrl"> </pdf> </div>
export default { name: "viewAnswerCard", components:{papersBg,pdf}, data(){ return{ pdfUrl: '', pageNum:1, pageTotalNum:1 } }, created() { this.getData(); }, methods: { //这里的文档地址是接口返回的 getData(){ this.$axios.get(dealUrl).then((res)=>{ this.pdfUrl = res.data.data.path; }).catch() }, prePage(){ if(this.pageNum>1){ var p = this.pageNum p = p>1?p-1:this.pageTotalNum this.pageNum = p } }, nextPage(){ if(this.pageNum<this.pageTotalNum){ let p = this.pageNum p = p<this.pageTotalNum?p+1:1 this.pageNum = p } } } }