PDF文件Web端展示

<div>
      <pdf
        :src="src"
        :page="currentPage"
        @progress="loadedRatio = $event"
        @num-pages="pageCount = $event"
        @page-loaded="currentPage = $event"
        style="display: inline-block; width: 100%">
      </pdf>
      <ul class="btns">
        <li :class="{select:idx==2}" @touchstart="idx=2" @touchend="idx=-1" @click="changePdfPage(0)">
          <p class="up-p">上一页</p>
        </li>
        <li :class="{select:idx==3}" @touchstart="idx=3" @touchend="idx=-1" @click="changePdfPage(1)">
          <p class="down-p">下一页</p>
        </li>
        <li>
          <p>当前第{{ currentPage }}页/共{{ pageCount }}页</p>
        </li>
      </ul>
    </div>
import pdf from 'vue-pdf'

//····················如要切换显示pdf,则需要初始化this.currentPage = 1

export default {
  components: {
    pdf
  },

  data(){
    return{
      src: "",
      currentPage: 1, // 当前页码
      pageCount: 0, // 总页码
      scale: 100,
      idx: -1,
      loadedRatio: 0,
    }
  },


 created() {
	this.src = this.unitlist[0].url//pdf地址
                this.src = pdf.createLoadingTask(this.src)
 },
  methods:{
    changePdfPage(val) {
      if(val === 0 && this.currentPage > 1) {
        this.currentPage--;
      }
      if(val === 1 && this.currentPage < this.pageCount) {
        this.currentPage++;
      }
    },
  },
<style lang="less" scoped>
.btns{
  display: flex;
  justify-content: flex-end;
  li{
    margin: 0 15px;
    list-style: none;
  }
  .up-p, .down-p{
    cursor: pointer;
  }
}
</style>
上一篇:关于读取pdf文件信息


下一篇:day09--大量数据渲染不卡顿