vinodnimbalkar / svelte-pdf

svelte-pdf provides a component for rendering PDF documents using PDF.js
https://www.npmjs.com/package/svelte-pdf
MIT License
206 stars 48 forks source link

Setting up fake worker failed #45

Open tatarrenat opened 1 year ago

tatarrenat commented 1 year ago

I have an issue when rendering the component on my app asynchronously:

Setting up fake worker failed: "Cannot load script at: http://localhost:3000/client/app/vendors-node_modules_svelte-pdf_index_js.7eb84ba08763e11d3530.worker.js".

image

image

Any idea what the problem is?

Thanks in advance!

justin-prather commented 1 year ago

also having this issue

Gildedter commented 1 year ago

I have the same issue and found two workarounds, if you're depending elsewhere in your project to pdfjs-dist you can change (inside your node_modules folder): https://github.com/vinodnimbalkar/svelte-pdf/blob/87116ace904234c14bbf715bb45ecbfa9fb9306e/src/lib/PdfViewer.svelte#L26 to: pdf.worker.entry.js, OR fork the project and update the pdfjs-dist dependency to ^3.8.162 (latest version for me at the time of testing) and the error will go away.

Edit: Re-installing your dependencies and then restarting the dev server also fixes it sometimes, too random of a bug

s00500 commented 11 months ago

just ran into the same issue, added the specified version to my package json and it would work !, thanks for the tipp

rberger commented 7 months ago

I found I was able to modify svelte-pdf/src/lib/PdfViewer.svelte with the following to get workers to work

-  import * as pdfWorker from 'pdfjs-dist/build/pdf.worker.mjs'
+  import pdfWorker from 'pdfjs-dist/build/pdf.worker.mjs?worker&url'

As per https://vitejs.dev/guide/features#web-workers https://github.com/mozilla/pdf.js/issues/8305 https://github.com/mozilla/pdf.js/pull/17504

lewisjr commented 6 months ago

to: pdf.worker.entry.js

got mine to work instead by changing it to pdf.worker.min.js