Angular 13.2.2与Ionic 6中ng2-pdf-viewer报错求助
解决Angular 13.2.2 + Ionic 6中ng2-pdf-viewer 6.0.0的Worker加载失败问题
错误原因:ng2-pdf-viewer默认尝试从指定CDN加载pdf.js的worker脚本,但该地址无法访问或版本不兼容,导致加载失败。
解决方案
方案一:本地引入pdf.worker.js(推荐)
- 安装与ng2-pdf-viewer依赖匹配的pdfjs-dist版本:
npm install pdfjs-dist@2.5.207 --save
- 在使用pdf-viewer的组件中配置worker路径:
import * as pdfjsLib from 'pdfjs-dist'; import pdfjsWorker from 'pdfjs-dist/build/pdf.worker.entry'; pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsWorker;
- 模板中正常使用组件:
<pdf-viewer [src]="pdfSrc" [render-text]="true"></pdf-viewer>
方案二:替换为可访问的CDN地址
若不想本地安装,可修改worker源为稳定的CDN地址:
import * as pdfjsLib from 'pdfjs-dist'; pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@2.5.207/build/pdf.worker.min.js';
Ionic环境额外注意
如果是Capacitor/Cordova项目,需确保网络请求白名单配置正确,允许访问所选的CDN地址(仅方案二需要)。
内容的提问来源于stack exchange,提问作者Ionic_pramod
相关产品推荐
相关产品推荐

