如何将自定义路径设置为 PDF 工作线程



我在带有 Angular 7 的项目中使用此PDF 查看器组件,但正如文档中详细解释的那样:

默认情况下,从 cdnjs.cloudflare.com 加载工作线程。

因此,我要做的是从项目中的本地路径加载工作线程。但是在文档的这一部分中,没有解释如何执行此操作。

尝试了什么,我npm installpdfjs-dist下载,还找到了一个pdf.worker.min.js文件,该文件位于我项目的shared文件夹中。

所以,在我的main-area.component.ts

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

当页面打开时,我可以在浏览器的"网络"选项卡中看到找到了本地文件。但在控制台选项卡中,它说:警告:设置假工人。
有人可以指导我如何成功设置工作人员吗?提前感谢!

如何在 Github 上的项目页面上的以下主题中讨论了如何为 PDF 工作线程设置自定义路径的主题:

https://github.com/VadimDez/ng2-pdf-viewer/issues/504

工作器文件pdf.worker.js(或缩小版本,pdf.worker.min.js(,可以在node_modules项目的文件夹中找到:node_modules/pdfjs-dist/build/pdfjs-distng2-pdf-viewer的依赖项,它将与此库一起安装。

建议的解决方案是:

  1. 在文件中的"assets"部分中提供pdf.worker.min.js作为角度资源angular.json

    "architect": {
    "build": {
    "options": {
    "assets": [
    "src/assets",
    {
    "glob": "pdf.worker.min.js",
    "input": "node_modules/pdfjs-dist/build/",
    "output": "/assets/pdfjs/"
    }
    ],
    ...
    
  2. 如自述文件 (https://github.com/VadimDez/ng2-pdf-viewer#set-custom-path-to-the-worker( 中所述,在 pdf 组件构造函数中使用以下方法:

    public constructor() {
    (window as any).pdfWorkerSrc = '/assets/pdfjs/pdf.worker.min.js';
    }
    

最新更新