使用vue-pdf预览pdf和解决pdf电子签章显示问题

使用vue-pdf预览pdf和解决pdf电子签章显示问题

第一步:npm install vue-pdf

第二步页面使用vue-pdf

java 复制代码
<template>
  <div class="pdf1">
    <Pdf v-for="i in numPages" :key="i" :src="src" :page="i" />
  </div>
</template>

<script>
import Pdf from "vue-pdf";

export default {
  components: {
    Pdf
  },
  data() {
    return {
      numPages: undefined,
      src: "",
      fileUrl: `${window.location.origin}/test1.pdf`
    };
  },
  mounted() {},

  created() {
    this.getPdfs();
  },
  mounted() {},
  methods: {
    // 获取pdf
    getPdfs() {
      // 引入pdf.js的字体
      let CMAP_URL = "https://unpkg.com/pdfjs-dist@2.0.943/cmaps/";
      // let CMAP_URL = `${window.location.origin}/cmaps/`;

      this.src = Pdf.createLoadingTask({
        // url: 'http://h1.pdfdo.com/Download/112617223362/112617223362.html', //在线链接pdf
        url: this.fileUrl, //本地pdf
        cMapUrl: CMAP_URL,
        cMapPacked: true
      });
      this.src.promise.then(pdf => {
        this.numPages = pdf.numPages;
      });
    }
  }
};

第三步pdf预览电子签章显示问题-解决办法

步骤一: 在node_modules/pdfjs-dist/build/pdf.worker.js注释掉一行代码

java 复制代码
if (data.fieldType === "Sig") {
      data.fieldValue = null;
      // 注释掉底下这行 就可以显示电子签章
      // this.setFlags(_util.AnnotationFlag.HIDDEN);
}

步骤二:在node_modules/pdfjs-dist/es5/build/pdf.worker.js注释掉一行代码

java 复制代码
 if (data.fieldType === "Sig") {
    data.fieldValue = null;
      // 注释掉底下这行 就可以显示电子签章
      // _this3.setFlags(_util.AnnotationFlag.HIDDEN);
 }
相关推荐
excel1 天前
ES6 中函数的双重调用方式:fn() 与 fn\...``
前端
可乐爱宅着1 天前
全栈框架next.js入手指南
前端·next.js
你的人类朋友1 天前
什么是API签名?
前端·后端·安全
会豪1 天前
Electron-Vite (一)快速构建桌面应用
前端
中微子1 天前
React 执行阶段与渲染机制详解(基于 React 18+ 官方文档)
前端
唐某人丶1 天前
教你如何用 JS 实现 Agent 系统(2)—— 开发 ReAct 版本的“深度搜索”
前端·人工智能·aigc
中微子1 天前
深入剖析 useState产生的 setState的完整执行流程
前端
遂心_1 天前
JavaScript 函数参数传递机制:一道经典面试题解析
前端·javascript
小徐_23331 天前
uni-app vue3 也能使用 Echarts?Wot Starter 是这样做的!
前端·uni-app·echarts
RoyLin1 天前
TypeScript设计模式:适配器模式
前端·后端·node.js