pdf-parse-new
Version:
Pure javascript cross-platform module to extract text from PDFs with AI-powered optimization and multi-core processing.
66 lines (52 loc) • 2.07 kB
text/typescript
/**
* Esempio TypeScript: Uso di pagerenderModule con tipizzazione
*/
import PdfParse, { processes, workers, SmartPDFParser, ProcessesOptions, WorkersOptions } from '../../index';
import * as fs from 'fs';
import * as path from 'path';
async function exampleWithTypes() {
const pdfBuffer = fs.readFileSync(path.join(__dirname, '../data/01-valid.pdf'));
const customModulePath = path.join(__dirname, 'custom-render-module.js');
// Esempio 1: Workers con tipizzazione
const workersOptions: WorkersOptions = {
pagerenderModule: customModulePath,
maxWorkers: 4,
max: 10,
chunkSize: 50
};
const result1 = await workers(pdfBuffer, workersOptions);
console.log(`Workers: ${result1.numpages} pages, ${result1.text.length} chars`);
// Esempio 2: Processes con tipizzazione
const processesOptions: ProcessesOptions = {
pagerenderModule: customModulePath,
maxProcesses: 4,
max: 10,
processTimeout: 60000
};
const result2 = await processes(pdfBuffer, processesOptions);
console.log(`Processes: ${result2.numpages} pages, ${result2.text.length} chars`);
// Esempio 3: SmartPDFParser con tipizzazione
const smartParser = new SmartPDFParser({
maxWorkerLimit: 8,
enableFastPath: true
});
const result3 = await smartParser.parse(pdfBuffer, {
pagerenderModule: customModulePath,
max: 10
});
console.log(`Smart: ${result3._meta?.method} - ${result3.numpages} pages`);
// Esempio 4: Custom render function (senza modulo esterno)
const result4 = await PdfParse(pdfBuffer, {
pagerender: (pageData) => {
return pageData.getTextContent().then((tc: any) => {
return tc.items.map((i: any) => i.str).join(' ');
});
},
max: 5
});
console.log(`Custom function: ${result4.numpages} pages`);
}
// Nota: questo è solo un esempio di tipizzazione
// Non può essere eseguito direttamente perché usa import invece di require
console.log('Questo è un esempio di tipizzazione TypeScript');
console.log('Per eseguire i test, usa i file .js nella stessa cartella');