React pdf viewer — использование worker с локального сервера

#reactjs #pdf #web-worker

#reactjs #PDF #web-worker

Вопрос:

Я рассматриваю возможность использования пакета react pdf viewer, который я нашел здесь . В документах говорится, что вы должны установить worker следующим образом:

Вам решать использовать pdf.worker.min.js файл из популярных сервисов, таких как https://unpkg.com/pdfjs-dist@2.5.207/build/pdf.worker.min.js
https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.5.207/pdf.worker.min.js или загрузите и сохраните его на своем сервере.

И это пример использования worker из внешней службы:

 <Worker workerUrl="https://unpkg.com/pdfjs-dist@2.5.207/build/pdf.worker.min.js">
    <!-- The viewer component will be put here -->
    ...
</Worker>
 

Но, если я хочу использовать этот пакет, мне нужно, чтобы worker был локальным, я не могу использовать внешние URL-адреса. Нет примера локального использования worker. Как я могу настроить это в приложении react, созданном с помощью create react app?

Ответ №1:

Вы можете выяснить это с помощью pdfjs-dist, а затем можете использовать его локально.

  const pdfjs = await import('pdfjs-dist/build/pdf');
 const pdfjsWorker = await import('pdfjs-dist/build/pdf.worker.entry');

 pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker;
 

Источник