if (! fallbackWorkerSrc && typeof document! == 'undefined') {
var pdfjsFilePath = document.currentScript && document.currentScript.src;
if (pdfjsFilePath) {
fallbackWorkerSrc = pdfjsFilePath.replace (/ (. (?: min.)? js) (?. *)? $ / i, '.worker $ 1 $ 2');
}
}
Às vezes, “document.currentScript” === null, pdfjsFilePath === null,
function getWorkerSrc () {
if (_worker_options.GlobalWorkerOptions.workerSrc) {
return _worker_options.GlobalWorkerOptions.workerSrc;
}
if (typeof fallbackWorkerSrc! == 'undefined') {
return fallbackWorkerSrc;
}
lançar new Error ('Não especificado "GlobalWorkerOptions.workerSrc".');
}
Você deve sempre especificar o workerSrc explicitamente, ou seja, definindo pdfjsLib.GlobalWorkerOptions.workerSrc
antes de chamar pdfjsLib.getDocument
, uma vez que o fallback é apenas uma solução de melhor esforço que não é garantida para funcionar corretamente em todas as situações.
Você deveria tentar isto:
const pdfjs = await import('pdfjs-dist/build/pdf');
const pdfjsWorker = await import('pdfjs-dist/build/pdf.worker.entry');
pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker;
...
Você deveria tentar isto:
const pdfjs = await import('pdfjs-dist/build/pdf'); const pdfjsWorker = await import('pdfjs-dist/build/pdf.worker.entry'); pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker; ...
Tive dificuldade em usar a ideia que você deu em reação
o problema é que não funciona quando o componente está montado
quando eu uso o script oficial está tudo bem, mas não funciona com pdfjs-dist
const pdfjsLib = window['pdfjs-dist/build/pdf
pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';
alguma ideia para isso? Eu preferiria não usar o script
Sinceramente, eu usaria uma abstração react em vez de pdfs, já que o pdf.js oficialmente não suporta react :(
Comentários muito úteis
Você deveria tentar isto: