Import project sources

This commit is contained in:
2026-11-05 01:04:53 +08:00
commit 0de3879565
29 changed files with 3570 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
import {cp,mkdir} from 'node:fs/promises';
import {createRequire} from 'node:module';
import path from 'node:path';
const require=createRequire(import.meta.url);
const base=path.dirname(require.resolve('pdfjs-dist/package.json'));
const dest=new URL('../public/pdfjs/',import.meta.url);
await mkdir(dest,{recursive:true});
await cp(path.join(base,'build/pdf.worker.min.mjs'),new URL('pdf.worker.min.mjs',dest));
for(const part of ['cmaps','standard_fonts','wasm'])await cp(path.join(base,part),new URL(part,dest),{recursive:true});
+8
View File
@@ -0,0 +1,8 @@
import {getDocument} from 'pdfjs-dist/legacy/build/pdf.mjs';
import {readFile,writeFile} from 'node:fs/promises';
const loadingTask=getDocument({data:new Uint8Array(await readFile(process.argv[2])),useSystemFonts:true});
const pdf=await loadingTask.promise;
const pages=[];
for(let i=1;i<=pdf.numPages;i++){const page=await pdf.getPage(i);const text=await page.getTextContent();pages.push({page:i,text:text.items.map(x=>x.str+(x.hasEOL?'\n':' ')).join('')});}
await writeFile(process.argv[3],JSON.stringify(pages,null,2));
console.log(JSON.stringify({pages:pdf.numPages,metadata:await pdf.getMetadata(),firstPages:pages.slice(0,15)},null,2));await loadingTask.destroy();