diff --git a/package.json b/package.json index cc06264..26cc51d 100644 --- a/package.json +++ b/package.json @@ -37,8 +37,7 @@ }, "dependencies": { "@vanakat/plugin-api": "^0.1.0", - "minisearch": "^5.0.0", - "pdfjs-dist": "^2.16.105" + "minisearch": "^5.0.0" }, "pnpm": { "overrides": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d34b019..252dcb8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,6 @@ specifiers: jest: ^27.5.1 minisearch: ^5.0.0 obsidian: latest - pdfjs-dist: ^2.16.105 prettier: ^2.7.1 prettier-plugin-svelte: ^2.7.0 svelte: ^3.50.1 @@ -31,7 +30,6 @@ specifiers: dependencies: '@vanakat/plugin-api': 0.1.0 minisearch: 5.0.0 - pdfjs-dist: 2.16.105 devDependencies: '@babel/preset-env': 7.19.0 @@ -2438,10 +2436,6 @@ packages: webidl-conversions: 5.0.0 dev: true - /dommatrix/1.0.3: - resolution: {integrity: sha512-l32Xp/TLgWb8ReqbVJAFIvXmY7go4nTxxlWiAFyhoQw9RKEOHBZNnyGvJWqDVSPmq3Y9HlM4npqF/T6VMOXhww==} - dev: false - /electron-to-chromium/1.4.247: resolution: {integrity: sha512-FLs6R4FQE+1JHM0hh3sfdxnYjKvJpHZyhQDjc2qFq/xFvmmRt/TATNToZhrcGUFzpF2XjeiuozrA8lI0PZmYYw==} dev: true @@ -3926,18 +3920,6 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - /pdfjs-dist/2.16.105: - resolution: {integrity: sha512-J4dn41spsAwUxCpEoVf6GVoz908IAA3mYiLmNxg8J9kfRXc2jxpbUepcP0ocp0alVNLFthTAM8DZ1RaHh8sU0A==} - peerDependencies: - worker-loader: ^3.0.8 - peerDependenciesMeta: - worker-loader: - optional: true - dependencies: - dommatrix: 1.0.3 - web-streams-polyfill: 3.2.1 - dev: false - /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true @@ -4577,11 +4559,6 @@ packages: makeerror: 1.0.12 dev: true - /web-streams-polyfill/3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: false - /webidl-conversions/5.0.0: resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} engines: {node: '>=8'} diff --git a/src/pdf-parser.ts b/src/pdf-parser.ts index 59e6748..e084304 100644 --- a/src/pdf-parser.ts +++ b/src/pdf-parser.ts @@ -1,12 +1,14 @@ -import PDFJs from 'pdfjs-dist' -import pdfjsWorker from 'pdfjs-dist/build/pdf.worker.entry' +// import PDFJs from 'pdfjs-dist' +// import pdfjsWorker from 'pdfjs-dist/build/pdf.worker.entry' import type { TextItem } from 'pdfjs-dist/types/src/display/api' import type { TFile } from 'obsidian' +import {loadPdfJs} from "obsidian"; -PDFJs.GlobalWorkerOptions.workerSrc = pdfjsWorker +let PDFJs: any = null // https://stackoverflow.com/a/59929946 export async function getPdfText(file: TFile): Promise { + PDFJs = PDFJs ?? await loadPdfJs() const data = await app.vault.readBinary(file) const doc = await PDFJs.getDocument(data).promise const pageTexts = Array.from({ length: doc.numPages }, async (v, i) => {