pdfjs-dist插件的踩坑


新入職的一家公司,一開始去要求要改一個bug,是關於pdf文件上傳的問題。

項目中用到了pdfjs-dist插件。

bug是這樣的,文件獲取不到。

一開始是在頁面中引用

import pdfJs from "pdfjs-dist";
import pdfWorker from "pdfjs-dist/build/pdf.worker";

  然后在調用方法:

    GetPdfPages(fileObj) {
      // song
      var that = this;
      this.zhezhao = true;
      this.isLoadingEnable = true;
      // 將本地文件B64序列化后傳入Pdf parser,並獲得總頁碼
      const fileReader = new FileReader();
      fileReader.onload = (e) => {
        var pdfLoadingTask = pdfJs.getDocument(e.target.result);
        pdfLoadingTask.promise.then(function(pdf) {
          that.curCourseItem.pdfPages = pdf.numPages;
          that.isLoadingEnable = false;
          that.zhezhao = false;
        });
      };
      fileReader.onerror = (e) => {
        that.zhezhao = false;
        that.isLoadingEnable = false;
        that.$message.error("加載文件" + fileObj.name + "出錯,請重試。");
      };
      fileReader.readAsDataURL(fileObj);
    },

  期間兩次都出現了文件查不到的undefind提示。

網上查了一下解決方法:發現不太使用我的

解決方式:

pdfJs.GlobalWorkerOptions.workerSrc = pdfWorker;
在這個方法中寫上這行代碼。
如果還是不行的話,可能是你的pdfjs-dist版本號的問題。之前有的博客上說他只要是瀏覽器支持HTML5就好了!(不過對於低版本的IE,就只能節哀了!),但是發現pdfjs-dist的老版本在瀏覽器上還是查找不到
pdfjs-dist/build/pdf.worker文件,最好的是使用^2.2.228版本,本人親測。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM