React pdf js - 警告:设置假工人

问题描述

我正在使用 react pdf viewer 并且我想在本地设置工作器。我试过这样做:

import pdfjsWorker from "pdfjs-dist/build/pdf.worker.entry";

<Worker workerUrl={pdfjsWorker}>
    <Viewer
      fileUrl={url}
      defaultScale={SpecialZoomLevel.PageFit}
      plugins={[
        defaultLayoutPluginInstance
      ]}
    />
  </Worker>

但是,这会引发警告:

警告:设置假工人

那么导入 worker 的正确方法是什么,为什么我会收到此警告?

解决方法

Worker 组件需要一个类型为 workerUrlstring。您可能需要将代码中的 pdfjsWorker 替换为实际的 pdf-worker 网址。

const pdfVersion = "2.6.347"
const pdfWorkerUrl = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfVersion}/pdf.worker.js`
<Worker workerUrl={pdfWorkerUrl}>
    <Viewer
      fileUrl={url}
      defaultScale={SpecialZoomLevel.PageFit}
      plugins={[
        defaultLayoutPluginInstance
      ]}
    />
</Worker>

注意:请确保为 pdfjs-dist 和 worker 设置相同的版本。

官方文档在这里提到了同样的事情:https://react-pdf-viewer.dev/docs/basic-usage/

,

我遇到了类似的问题,通过添加 pdf.worker.js 解决了这些问题

Git Refrence

我在 worker.js 的头部添加了 js 文件,即 https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.worker.js

然后我根据控制台错误更正版本(2.10.377 到 2.3.200)并开始加载 pdf Console error after adding the worker.js