i have a component lightning and i import 2 scripts "PDF.js" and "scripts.js" my static resource have 3 files zip "PDF.js", "script.js" and "worker.js"

<aura:component >
    <ltng:require scripts="{!$Resource.pdf + '/pdf.js'}"/>
    <ltng:require scripts="{!$Resource.pdf + '/script.js'}"/>

    <input id="inputFile" type="file" onchange="convertToBase64();" />    

    <div id="data"></div>   

in my script.js static resource i call my worker.js

pdfjsLib.workerSrc = 'worker.js';

but i have a error

Uncaught ReferenceError: pdfjsLib is not defined throws at https://componentstudy-dev-ed.lightning.force.com/resource/1579614876000/olianiTrailhead__pdf/script.js:1:1 ReferenceError: pdfjsLib is not defined
    at script.js:1

can someone help me?


You'll need to choose a different library. Aside from possible timing issues regarding the load order for scripts, you cannot use Workers of any type in Lightning because of the Locker API.

  • I understand your point but this lib is not for generating PDF but reading and generating readable text from a PDF – Guilherme Feb 4 '20 at 20:10
  • @Guilherme The other half of my answer is still a concern, then... Locker API won't let you have a service worker. – sfdcfox Feb 4 '20 at 20:14
  • @Guilherme Did you check the Developer Console for errors? I'm pretty sure you should see something about an unsupported API or some such in the logs. – sfdcfox Feb 4 '20 at 20:14
  • on my developer console, I have no error, but only on the browser console – Guilherme Feb 4 '20 at 20:20
  • about the locker service, I had this problem, but solved it by downgrade the component version and now i have this error i post – Guilherme Feb 4 '20 at 20:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.