【问题标题】:Use mozilla pdf.js in create-react-app with typescript在带有 typescript 的 create-react-app 中使用 mozilla pdf.js
【发布时间】:2021-01-23 22:21:35
【问题描述】:

我尝试查找一些有关如何将 mozilla pdf.js 包含到配置了 typescript 的 create-react-app 的文档。不幸的是,我只发现很多人都在问同样的问题但没有有效的解决方案。
目前我使用以下方法,它似乎有效。但我不确定这是否是一种好方法。

我使用 npm 安装了依赖项,如下所示。

npm install --save @types/pdfjs-dist
npm install --save pdfjs-dist

并以这种方式导入/配置它。

// Import pdf.js    
import * as pdfjsLib from 'pdfjs-dist';
pdfjsLib.GlobalWorkerOptions.workerSrc = process.env.PUBLIC_URL + '/assets/js/pdfjs/pdf.worker.min.js';

// Load pdf
pdfjsLib.getDocument('pdf_url').promise.then((promise: pdfjsLib.PDFDocumentProxy) => {
    console.log(promise.fingerprint);
});

因此,我必须确保文件 pdf.worker.js.mappdf.worker.min.js 存在于文件夹 public/assets/js/pdfjs 中。有没有更优雅的方式解决 pdf.js 的导入问题?

附上react和pdfjs-dist版本:

"pdfjs-dist": "^2.5.207",
"react": "^16.13.1",
"react-scripts": "3.4.3",
"typescript": "^3.7.5"

【问题讨论】:

    标签: javascript reactjs typescript pdf.js pdfjs-dist


    【解决方案1】:

    我遇到了类似的问题。 github问题中提供了一些解决方案,例如HereHere 但对我没有任何帮助。在使用 javascript 的 create-react-app 中对我有用的是使用来自 pdfjs-dist 的构建文件的 es5 版本,这些文件可在 pdfjs-dist/es5/build/

    获得
    import * as pdfjs from 'pdfjs-dist/es5/build/pdf';
    import pdfjsWorker from 'pdfjs-dist/es5/build/pdf.worker.entry';
    
    pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker;
    

    我不确定打字稿,但应该可以工作。

    版本:

    "pdfjs-dist": "^2.7.570",
    "react": "^17.0.1",
    

    【讨论】:

      猜你喜欢
      • 2020-08-05
      • 2018-11-08
      • 2020-09-30
      • 2018-09-16
      • 2019-04-07
      • 2019-04-09
      • 1970-01-01
      • 2017-09-06
      • 2020-08-12
      相关资源
      最近更新 更多