• 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判断

     

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

  • 相关阅读:
    objective-c 自定义归档
    GitHub---最简单的使用
    objective-c 单例
    objective-c 通知(Notification)
    objective-c 谓词
    objective-c KVO
    objective-c KVC
    objective-c 协议(Protocol)和代理(Delegate)
    Xcode一些方便的快捷键
    objective-c 类目(Category)和延展(Extension)
  • 原文地址:https://www.cnblogs.com/chen-yi-yi/p/11504861.html
Copyright © 2020-2023  润新知