pdf 在线预览之 vue-pdf插件

vue-pdf  

支持到ie11
npm安装:npm install --save vue-pdf

组件template:

<div class="show-pdf">
    <div>
      <pdf
        v-if="pdfSrc"
        :src="pdfSrc"
        :page="currentPage"
        @num-pages="pageCount=$event"
        @page-loaded="currentPage=$event"
        @loaded="loadPdfHandler"
      ></pdf>
    </div>

    <p class="arrow2" v-if="pdfSrc">
      <span @click="changePdfPage(0)" :class="{grey: currentPage==1}">上一页</span>
      {{currentPage}} / {{pageCount}}
      <span
        @click="changePdfPage(1)"
        :class="{grey: currentPage==pageCount}"
      >下一页</span>
    </p>
  </div>
<script>
import pdf from "vue-pdf";
export default {
  name: "Pdf",
  components: {
    pdf
  },
  props: ["dochref", "doctype"],
  watch: {
    dochref(val) {
      console.log("pdfSrc");
      console.log(val);
      this.pdfSrc = val;
    },
    pdfSrc(val) {},
    doctype(typeval) {
      this.typeValue = typeval;
    }
  },

  data() {
    return {
      typeValue: "",
      pdfSrc: "",
      currentPage: 0, // pdf文件页码
      pageCount: 0, // pdf文件总页数
      numPages: 1,
      activeIndex: 0
    };
  },
  methods: {
    // 改变PDF页码,val传过来区分上一页下一页的值,0上一页,1下一页
    changePdfPage(val) {
      if (val === 0 && this.currentPage > 1) {
        this.currentPage--;
      }
      if (val === 1 && this.currentPage < this.pageCount) {
        this.currentPage++;
      }
    },
    // pdf加载时
    loadPdfHandler(e) {
      this.currentPage = 1; // 加载的时候先加载第一页
    }
  },
  mounted: function() {
    this.pdfSrc = "";
    this.pdfSrc = this.dochref;
  }
};
</script>

 

自己的页面中引用

<template>
  <div class="hello">
     <showPdf
                      v-if="docInfo.type == 'pdf'"
                      :doctype="docInfo.type"
                      :dochref="docInfo.href"
                    ></showPdf>
  </div>
</template>


<script>
import showPdf from "./show-pdf-word/show-pdf";

export default {
  name: 'HelloWorld',
  components: {
    showPdf
  },
  data () {
    return {
      msg: 'Welcome to Your Vue.js App',
       docInfo: {
        type: "pdf",
        href: "http://125.35.91.158:8099/group1/M00/02/AF/wKgAplxrloqAdR6NAAcOcVILFv0518.pdf"
      },
    }
  },
  mounted(){
  }
}
</script>

效果如下 

 

如果有电子签章 是显示不出来的

需要改动源码 注释掉type判断

 

 

效果如下  这样章就出现了~~~

 

posted @ 2019-09-11 10:39  啾啾啾啾一口  阅读(5519)  评论(0编辑  收藏  举报