如何在Angular CLI应用程序中提供pdf.js工作?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (660)

我直接在Angular应用程序中使用pdf.js用于某些PDF目的。工作正常。

从pdfjs-dist导入了pdfjs,我的package.json包含了pdfjs-dist。

我的PDF工作正常,但在控制台中,我得到了下面的错误。

pdf.js:9067 GET http://localhost:4300/main.bundle.worker.js 404 (Not Found)

pdf.js:351 Warning: Setting up fake worker.

如何在Angular CLI应用程序中正确设置工作人员?

提问于
用户回答回答于

经过一段时间的战斗,我解决了这个问题。我第一次赢得StackBlitz在线Angular6服务。但在家中重复出现问题。

在我的情况下,可以与Angular 6和CLI一起使用本地文件。PS:当使用本地安装的工作人员以及带有外部链接(如CDN等)的工作人员时,请关注pdf.js和pdf.worker.js的相似版本(我使用pdf.worker.min.js)。

把你的pdf.worker.js或pdf.worker.min.js放到/ src / assets /然后使用:

import * as pdfjsLib from 'pdfjs-dist/build/pdf
pdfjsLib.GlobalWorkerOptions.workerSrc = './assets/pdf.worker.min.js';

规格:得到命令'ng版本'

Angular CLI: 6.0.3
Node: 8.10.0
OS: linux x64
Angular: 6.0.2

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.3
@angular-devkit/build-angular     0.6.3
@angular-devkit/build-optimizer   0.6.3
@angular-devkit/core              0.6.3
@angular-devkit/schematics        0.6.3
@angular/cli                      6.0.3
@ngtools/webpack                  6.0.3
@schematics/angular               0.6.3
@schematics/update                0.6.3
rxjs                              6.1.0
typescript                        2.7.2
webpack                           4.8.3
用户回答回答于

这是因为没有设置GlobalWorkerOptions.workerSrc属性。通常情况下将其设置为从那里的网址pdf.worker.jspdf.worker.min.js文件可以被加载。如果安装的pdfjs-dist软件包与它位于相同的文件夹中pdf.js

尝试一下,只要设置属性警告消失。

PDFJS.GlobalWorkerOptions.workerSrc = 
      "<your local path>./node_modules/pdfjs-dist/build/pdf.worker.js";

应该从CDN URL加载它。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动