You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue中使用pdfjs时API与Worker版本不匹配问题求助

解决pdfjs API版本与Worker版本不匹配的问题

你遇到的错误核心原因是pdf.js主库版本(2.16.105)与Worker脚本版本(3.1.34)不一致,两者版本不兼容导致报错,清除Cookie无法解决这个问题,以下是可行的修复方案:

方案1:使用与主库同版本的Worker脚本

  1. 先确认你项目中pdfjs-dist的实际版本:查看package.json中的依赖版本,或执行命令npm list pdfjs-dist
  2. 将workerSrc替换为对应版本的CDN地址,以你当前的2.16.105版本为例:
const pdfjsLib = require('pdfjs-dist/legacy/build/pdf.js')

// 替换为对应版本的Worker脚本地址
pdfjsLib.GlobalWorkerOptions.workerSrc =
  'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.16.105/pdf.worker.min.js'
pdfjsLib
  .getDocument("../assets/pdf/活動切結書.pdf") // 注意:原代码路径末尾多了一个单引号,需删除
  .promise.then((doc) => {
    console.log(doc)
  })

方案2:引用本地Worker文件(推荐)

安装pdfjs-dist时,Worker文件已随包一起下载到本地,直接引用可确保版本完全一致:

const pdfjsLib = require('pdfjs-dist/legacy/build/pdf.js')

// 直接引用本地同版本的Worker入口文件
pdfjsLib.GlobalWorkerOptions.workerSrc =
  require('pdfjs-dist/legacy/build/pdf.worker.entry.js')
pdfjsLib
  .getDocument("../assets/pdf/活動切結書.pdf")
  .promise.then((doc) => {
    console.log(doc)
  })

方案3:升级主库版本与Worker匹配

如果想使用最新版Worker,可将pdfjs-dist升级到对应版本:

npm install pdfjs-dist@3.1.34 --save

升级后保持workerSrc引用3.1.34版本的脚本即可。

内容的提问来源于stack exchange,提问作者呂玟諠

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:15:59