vinodnimbalkar / svelte-pdf

svelte-pdf provides a component for rendering PDF documents using PDF.js
https://www.npmjs.com/package/svelte-pdf
MIT License
196 stars 47 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 11 months 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 6 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 2 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 1 month ago

to: pdf.worker.entry.js

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