Here’s my code that loads the pdf library and setup workerSrc.
import * as pdfjsLib from 'pdfjs-dist';
pdfjsLib.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjsLib.version}/pdf.worker.min.js`;
export default defineBackground(() => {
browser.downloads.onCreated.addListener(function (downloadItem) {
// download this url and get data
const pdfDoc = pdfjsLib.getDocument(await blob.arrayBuffer()).promise;
const pages = (await pdfDoc).numPages;
console.log("[parseFileContent]: pdf pages: ", pages);
}
}
I also added this code in my config file
export default defineConfig({
modules: ["@wxt-dev/module-react"],
manifest: {
permissions: ["downloads", "webRequest", "tabs", "storage"],
host_permissions: [
"*://*.amazonaws.com/*",
"*://*.amazoncognito.com/*",
],
web_accessible_resources: [
{
resources: ["pdf.worker.js"],
matches: ["<all_urls>"],
},
],
},
extensionApi: "chrome",
});
I tried using the code above after searching many stackoverflow questions.
1