{"_id":"pdf-parse-new","_rev":"33-d8c798e2d072dbc5e61e7b4134a5058a","name":"pdf-parse-new","dist-tags":{"beta":"2.0.0-beta.7","latest":"2.1.0"},"versions":{"1.1.1":{"name":"pdf-parse-new","version":"1.1.1","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.1.1","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://gitlab.com/autokent/pdf-parse","bugs":{"url":"https://gitlab.com/autokent/pdf-parse/issues","email":"mehmet.kozan@live.com"},"dist":{"shasum":"d80cb975637fdbb90b9efab9422d06804e57be44","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.1.1.tgz","fileCount":58,"integrity":"sha512-TKW3W0Fm7ViYAGLPpq1PPn/9vYygdZCxnara3k8WHCJoft+e7beblkPWBeE4UUMeGdjiDaM79B7IxHplc3E+SQ==","signatures":[{"sig":"MEYCIQDw0PzjAV2M7zU9lZuoMletQ23tP6zNCP8nz+Rw1FyA2gIhAM0nKfebKuOc61RUgLZdxIDUo4/jcgNjCtFlagFDlohd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29536362},"main":"index.js","engines":{"node":">=6.8.1"},"gitHead":"726214b1f055c8cb6d9421faf16ede0402e3a1d7","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://gitlab.com/autokent/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.1.1_1716384339182_0.4786807368839343","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"pdf-parse-new","version":"1.1.2","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.1.2","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"95fc1bc35af8a600a0748ba107cce49e1892425d","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.1.2.tgz","fileCount":54,"integrity":"sha512-xdEqwmCGP8i4koJSx/wMOCT0sLqRR3c4SE2e0kBMIgYRnrE3dDQafg1Cy0MRdfMYTpKHGTi8iMMzJAoXo7o38Q==","signatures":[{"sig":"MEUCIQCgkocDAYdJZaLFRXHm2id7c1tNh3sgOjIj/t9cRkW15AIgOcuEjuOSopuUZnwKqTm15mD7r8u2bPmElfnQXTa4OzA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29535267},"main":"index.js","engines":{"node":">=6.8.1"},"gitHead":"61b5a94cd3b22053e3c8b8174671ca78a63ee5dc","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.1.2_1716384616530_0.7563030437259308","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"pdf-parse-new","version":"1.1.3","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.1.3","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"ef839ed10a4af4ac65e55702b6d3cc4b48370bb9","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.1.3.tgz","fileCount":55,"integrity":"sha512-O04SmQG3AL7gzdidrqrSn0HRbCOE2KtB1filfmiCQURvVeMWfSJ6rkkVpfDGNuy13TCgBrZ1DeS4b47BPdv/sA==","signatures":[{"sig":"MEUCIQCott2SUshfStzsnTLlrOpoSCncS1Db/6i+m7YeKXw2MAIgCDUMm4vETSTdXdJ6cbnoaDQ+memNFtPQ3WX/vft7MK8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29535799},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"017411acabcd6636264f7414d38b9f2d2da24787","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.1.3_1716385294794_0.06332749754359002","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"pdf-parse-new","version":"1.1.4","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.1.4","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"07ee6d4ad727ada46c143c6ff97694c1c3d03596","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.1.4.tgz","fileCount":55,"integrity":"sha512-D1A8OAIUrBrasaUL3Yg79Ab4rgC+UCA+lLYCzKn+DtwykKQj1jumY2V1RZMqJiQmEIu3bQWRV8Iqgmuq7Cc+Ag==","signatures":[{"sig":"MEQCIAcY3/Usp3AAPOlpafMFAlzrV2eUe4oFfbUzLbewt0NIAiAxIKxhHT82xq/sVuwiYuLnGQmdYSB0YXfOBtsSUk+Cfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29535815},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"5a5a29983f78c451b52b9882911873b0190bbe9c","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.1.4_1723559443871_0.710211465042984","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"pdf-parse-new","version":"1.1.5","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.1.5","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"56c010847b285695f7bf0a1b2a6802e4ff5d0904","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.1.5.tgz","fileCount":55,"integrity":"sha512-VNVSIB69gVzLtMwSl8WUz6J+dXj+AJnfm7hDvtffqLHGcki8OH5Dkm0x1GUfKP91+IXhCfOf5uNuIg7SJH0FnA==","signatures":[{"sig":"MEUCIFvC/choRyKxStpBjsy3q8YnV5P9qdfe6+NDDbuGPH/PAiEA+7y/0lHssxcuW0zfuC5W+6gkmBlihR32I/Y/qQDhd3A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29535821},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"f2ec2eebd3ea641bcfcf1fef644fefe9716f244f","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.1.5_1724675578547_0.9433361363140051","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"pdf-parse-new","version":"1.2.0","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.2.0","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"525eea0d2190be28b5ee9ee3edb30e40bda4f520","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.2.0.tgz","fileCount":55,"integrity":"sha512-sjnFPdsvYfGU5cGG66JRxgb2lgHsE64EGAfIkzoII9HQpbqFjbgBkBpWpoLNQSV2gN9JP49jam60kemGio+DIg==","signatures":[{"sig":"MEUCIQDlgWozgcv8gs7RXq56CVli0M+4PZiEKqCThfjgHFkwVAIgJE5OJ6u97/9u77LTYzQBAH7WOGFuWmDWOJtbpQBZQr0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29535689},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"842e6442965bdfe83eb35ff3381bec20fd1ce806","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.2.0_1725004877158_0.15773996332916962","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"pdf-parse-new","version":"1.2.1","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.2.1","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"00acf85ae9463484ede8fbe584fedbb6cbe2a5eb","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.2.1.tgz","fileCount":55,"integrity":"sha512-0luRJ1mvDQpFP/xEI1KKt/B6J2tU8ursIslCZkkiTb9jUBGwHljey5Ah94OxmpkvJm6JRhgg/bD4YzNuT43YKg==","signatures":[{"sig":"MEQCIEAP9lmei1sINl6lO8NNAbMeBh5S/i9NRvJ6whqOnojLAiBUpgXsDF5caJqzii1DgXlD0M0DPTGas9v/U4uC7S2yGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29535731},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"36a4f271aeca79ba975cb537fee1440ee81070d9","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.2.1_1725005139731_0.3692601146230863","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"pdf-parse-new","version":"1.2.2","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.2.2","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"53e090c40978b3cd3b5b2d3f326f2f6c6f09e556","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.2.2.tgz","fileCount":55,"integrity":"sha512-ej8B5iz8Ug2qVYpeiKdD9RjbBr5wW7kwJlCjYXPlSm3qg2cUXZdzUeAvBOKMHcVBgyLGkg4k3jUA6e7n4+Qtjg==","signatures":[{"sig":"MEQCIDZcVpzS4Ps5V+ylnWLW3br9bMjDKN8KgJ3Xn8f8KsveAiACqvgmKyt+oWFLsfZVy02Rx4qLcENSGpHMD3Wk+K8sVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29535807},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"a71bf42ea86251e6481055d7d3859af89150724e","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.2.2_1725005440762_0.5922804820702683","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"pdf-parse-new","version":"1.2.3","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.2.3","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"fdd9f4db75986ecdd9a1a2a3c86e1ad7313cf758","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.2.3.tgz","fileCount":55,"integrity":"sha512-w4UCPIvwnFCHM/Tmt+mibnv0o7kwR4UsLZrXnfnIEInwbMjeme1SVN/AZbxyFd0MMpR21TEa5vAKW1wHIjYSZw==","signatures":[{"sig":"MEUCIGzdFh+H+5NdTha+VpcPL98OI9C8SqO1TdL09UVhLDPIAiEA+6HsKyb1Y8H6fm9FQZ3o+bNAx0VEMWaYwYnW7bmM2PE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29535804},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"512d804b700ec8e99970bd44826ba37f4d3cce12","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.2.3_1725005671287_0.6539114156740473","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"pdf-parse-new","version":"1.2.4","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.2.4","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"1a23bd0ca9f7650e73caa9f32fe634c9855873fa","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.2.4.tgz","fileCount":55,"integrity":"sha512-g6gVFDjAjasv77hx/FQ03+d1hxnbHIPPR7axCvtm//rTXNoLwPOYY+8EE4nUaXOrL2/2MHXjwjjgrfNIVfJgMA==","signatures":[{"sig":"MEYCIQCDlYQieaUeYvU88hl0oSZxaKd1cLc3yioMhaVOrt910wIhAJo0MX7TTDEnv5bR5dA079++G4+Y6ZBr4xUzfWQTm5nk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29535822},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"9cfd9481c37edeba5b5a6fd67b95fd5f7335b08c","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.2.4_1725006031310_0.210987149140613","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"pdf-parse-new","version":"1.3.0","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.3.0","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"786e7f7d57b4b9b5c458377fdeba37ffc0efd1a7","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.0.tgz","fileCount":53,"integrity":"sha512-M3K0NOkPy46ao5UjatfMVZPy5Uv3SuNl8NG2YBhkWOmMTxvKaHe0MLtYlwYDSB2h8CG9TSgeKZhgvYFcGE/uUw==","signatures":[{"sig":"MEUCIB1ryQbsnouAN9b1U2n/zbQdn+pIbJo5f4/IsWvpa18lAiEA9AIW6yU7Vos0P8PBr4/jL3va8YBZi5zv32cxpuTNIP8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29851188},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"2232be796bfe3113fd5c63c9c80a0a37eb070452","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.0_1725262146817_0.8280854899606316","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"pdf-parse-new","version":"1.3.1","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.3.1","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"edd4b01b414e6eddb1c209c641cfa0f87db5e9ea","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.1.tgz","fileCount":46,"integrity":"sha512-ZyHU2sS280H+WXaL5a/ImiCIKUk770zlwq3/suuGtB8HU2VPjiiJ1dvatX3YOggatc+KpfaD+3xIgMCBJAyKQA==","signatures":[{"sig":"MEUCIQDF2NlSgGCVheLV0kcBLUl9gvy+1a+d6NbPYjDSBiZ+UAIgDNDHhoxiG+GyFiFMJvpypTzIzvxPWJ8md7gkSg5GcjY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17081199},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"0794d201777c293aee80d13d6f45786922bf2c83","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.1_1725267339787_0.2860454576073026","host":"s3://npm-registry-packages"}},"1.3.2":{"name":"pdf-parse-new","version":"1.3.2","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.3.2","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"fc976fbae0280cc3c58a03ad83041a44de25e837","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.2.tgz","fileCount":45,"integrity":"sha512-yfxVwd9qjAhzOx7Y3Ibzzr+9CKMknoJsonUAQcPMAF0T3jGY0JuoeI0E1LfdjqwT4C87/6lI4SYtIlZ80CyDmg==","signatures":[{"sig":"MEQCIAS+4zWdk6eX2VId8S3C6pVkcjEtnjw1aXTBcK/2Z/OTAiBaqPOBBHbaprhP2YWoRqwDMV0X1npnrSGi0sLnTM270Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17039612},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"71b3e3f1c7295aa6e96e5fc95ef26293c433f87e","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.2_1725268441450_0.4763521694333097","host":"s3://npm-registry-packages"}},"1.3.3":{"name":"pdf-parse-new","version":"1.3.3","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","_id":"pdf-parse-new@1.3.3","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"bd0b7a22c192cc9d2a2565102c9291535db05c64","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.3.tgz","fileCount":45,"integrity":"sha512-phN/V0iegnHxBc3096bqBusvmCcOJTfW5bvkMxMFikU+rZtB6RryniYEK0NcxsJaVVqbraUxUS7LMvCndA86xA==","signatures":[{"sig":"MEUCIGQIm7mOUvI1EfNRD5kf5jtJD/Pm0th7/z2cVCfRyTf7AiEA9prbptmMFvgNuaTrtWaHjnkjA9uLtd6qlY/za55Y89U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17039614},"main":"index.js","types":"index.d.ts","engines":{"node":">=6.8.1"},"gitHead":"7b7cfee4c3f3ac9b06e0c1ca105a2600137bdb6c","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.3_1725269131957_0.8212787642607753","host":"s3://npm-registry-packages"}},"1.3.4":{"name":"pdf-parse-new","version":"1.3.4","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@1.3.4","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"e15ce9bb6594b17482a702d09087b3494f02379e","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.4.tgz","fileCount":51,"integrity":"sha512-hdnJhZiYTbV4jlOVka/cGUUmSClRSjN1AsqTVIqybm2FszQo+zOY9bfm+TKkXkogn+RE4dMeD8TEaEzkbLIuvw==","signatures":[{"sig":"MEUCICJAYD5v9B+vrPvVsd0YYA5n7CjS3xTDA1FfrMdqo8SgAiEAsuGU4+Yel9XCOQmDJiEHidhaA73qweXZsMkxxVnwvXo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28035830},"main":"index.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"89899002ea6fb2e0d1e9361e40c4ae499975a02c","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.4_1725274583725_0.10911753649523614","host":"s3://npm-registry-packages"}},"1.3.5":{"name":"pdf-parse-new","version":"1.3.5","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@1.3.5","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"2a5af933397518a7220c94d2b3fa2223c3957c50","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.5.tgz","fileCount":51,"integrity":"sha512-CvzyceB6JZOTvqByMyFsAPvq0jT2CMWel1+TnG6c5UisxKp9e2gmUMGB1Fih5sO/x9CUeBa3lVkutmkZ1JthpQ==","signatures":[{"sig":"MEUCIQDf4Se275pTmSc5tp5a21kKR+PIVyeclvAkdE4tITzaugIgRtq3ux0yLp/7n9oTe/lRccXFSF32DzGjwQHfAJTUSh4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28035825},"main":"index.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"be091ac0791d1e9fce1b53e37c8e595a6bc18c6a","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.5_1725275906549_0.6842491604605789","host":"s3://npm-registry-packages"}},"1.3.6":{"name":"pdf-parse-new","version":"1.3.6","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@1.3.6","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"83232a85f7ff7a5e6828fd398966f52982f4b5dc","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.6.tgz","fileCount":51,"integrity":"sha512-Wmyo9C1LzLVvJayJ9MqSOAr695yVQXbWKzMJPaNtanj3MpTN7P16TmhEk15ObemvfnCHdNtixrXjSWYi+uRmCA==","signatures":[{"sig":"MEUCIQCwZaam7ectWQHQGauDdJa0IA5TkGg/McrJGPAhxqswcwIgOs7HyXV57ATIfOVSXizlGpgaX4+zOZaxUiPA8gTRVTQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28035646},"main":"index.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"2c3a56e8c1be7ff4446db52122edf0be4564b002","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.6_1725276395789_0.3457616757523041","host":"s3://npm-registry-packages"}},"1.3.7":{"name":"pdf-parse-new","version":"1.3.7","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@1.3.7","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"00c92165429268dba74071bb1e87dec9a3f0ffdc","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.7.tgz","fileCount":45,"integrity":"sha512-jCpNpA5xLYgujdtnoisMtzGxyXgWqpsDlmoWKHtvzjXtV4C6N2D6sXwWyHuRio4jUUvjSpFNrhppXuBtmeCCzw==","signatures":[{"sig":"MEYCIQCjIOUhhRFVCFHsBAxdUrFeiCeaADGfZN0aoSbhNCQRLQIhANSCOS6Zn3qg1R4egSEJJvd4eiMzcZ0E15Hn7iOBkl1i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17039379},"main":"index.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"1741c958a1c3d590e806ab3569f9fdc999690bc9","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.7_1726644115095_0.8818002048808344","host":"s3://npm-registry-packages"}},"1.3.8":{"name":"pdf-parse-new","version":"1.3.8","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@1.3.8","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"c2862a5322022bb3010ec04dbce817d67b249e59","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.8.tgz","fileCount":48,"integrity":"sha512-xWyf/EXgXUjPcddKwKi5bE5HwaccW+1P0L0uGdIMwTLRTzFepj+Q+gxXqfizyyXnhWWHgakeO1bQ0Q86pvVv9A==","signatures":[{"sig":"MEUCIQCQmDXhzGuB1wxU9OJh2qFW6+JRWV0ZytCmUy4ZXJbybwIgMvlwGGX4LlkL56m9nnMAmJiDpCpe7Kb8oEjuwNKthcY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18765102},"main":"lib\\pdf-parse.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"b553cb7464bba1a2eb163420fbabb13a7b55cd4a","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.8_1730305744890_0.5152957120367538","host":"s3://npm-registry-packages"}},"1.3.9-beta-0":{"name":"pdf-parse-new","version":"1.3.9-beta-0","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@1.3.9-beta-0","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"2097a255586de974c70a87cac29f76d7fefddeed","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.9-beta-0.tgz","fileCount":48,"integrity":"sha512-pumyi9yukHPA22fPu2hV9ZFpy0kWOpLfqL/NuPLgcyJM4D6w09C3tIPZ8dj4bpvvRR5hodcvMNRczS43XC4U6g==","signatures":[{"sig":"MEUCIH62UU/Qq+2QGconhnmVl+dZvqYQzYKn3wF8jSnkWsMRAiEAw5opfhoI9xmIdDCI56ST7YiAQjQ1qQPpqEIg7JCJBMA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18765261},"main":"lib\\pdf-parse.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"724e6042b71ea85b8e5fb289acbc8e544935ff0e","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js","up:major:beta":"npm version major --tag beta","up:minor:beta":"npm version minor --tag beta","up:patch:beta":"npm version patch --tag beta"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.9-beta-0_1730307339503_0.03105319354461855","host":"s3://npm-registry-packages"}},"1.3.9-beta.0":{"name":"pdf-parse-new","version":"1.3.9-beta.0","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@1.3.9-beta.0","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"c0bd89afb1cb852b4b4445b6cddf20afb7fde6e5","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.9-beta.0.tgz","fileCount":48,"integrity":"sha512-16EQ8HBeez9F1stnYjq0DtKtzWmlf9r4ARbKe/0d1F4QkXU+uAvQMs2sZW6cSiknDuLVurYpHGnpgYlaldHQdQ==","signatures":[{"sig":"MEQCIBOEfp0rJndSX2MQhGTh1D2VS/8REt9OcJ99UYeE/yktAiANVGo6IHzydIHa2TGJRUKLuF8C0+5ss1tqkw3QiX6ibA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18765261},"main":"lib\\pdf-parse.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"724e6042b71ea85b8e5fb289acbc8e544935ff0e","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js","up:major:beta":"npm version major --tag beta","up:minor:beta":"npm version minor --tag beta","up:patch:beta":"npm version patch --tag beta"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"10.7.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.9-beta.0_1730307375768_0.6573084702070335","host":"s3://npm-registry-packages"}},"1.3.9":{"name":"pdf-parse-new","version":"1.3.9","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@1.3.9","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"3c5ec300a139e1a744968039690130f79362d7f3","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.3.9.tgz","fileCount":48,"integrity":"sha512-tIwIzcLgQ0J6PlDO+amkFEuiCXqOCZ4PrWgwcsKvyMHe1NN2t2HmB00/D8SrPlKQCw1JPekiWY+lk8j/eo92WQ==","signatures":[{"sig":"MEYCIQCT4sbTh3M6ROvVGSNn5LOl7U+ai5ni19VYr1aQyxFhSgIhAPskmEVgE9ZzBlFZG9LwcG6MctsiKuOzWYkRCFHh5Ff2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18829430},"main":"lib/pdf-parse.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"c1400bbb4d92d92915f8bfed2e33db8a7aa0b9e6","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"11.0.0","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.3.9_1736505934013_0.9107036197109768","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"pdf-parse-new","version":"1.4.0","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@1.4.0","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"bf90cf525ecf059ffca11d724096a202023b5cfc","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.4.0.tgz","fileCount":48,"integrity":"sha512-ebPRt9KDmjDLp2sgdGoZSCZQ5LEwDZsP2UyrDThjaUyDQ2ifWTR+ClFxWazP8sNkIj6gJmMqUeQmLG3Lr8F00A==","signatures":[{"sig":"MEYCIQCk5Q1ZgneC8c9KjwBY+bboXMMojxuJt22DWWz3Wjgl0wIhAPjnYRYSom40cb1rsjgeCkGnYSJ4IrlQG1UOT6ojn2bo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18829499},"main":"lib/pdf-parse.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"38c38ec51607a9efc6d0d9b9cb146ac7e2290e30","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js"},"_npmUser":{"name":"simone.gosetto","actor":{"name":"simone.gosetto","type":"user","email":"simone.gosetto@gmail.com"},"email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"11.4.2","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.4.0_1750313234741_0.34327310883892737","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"pdf-parse-new","version":"1.4.1","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@1.4.1","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse","bugs":{"url":"https://github.com/simonegosetto/pdf-parse/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"5e2122e150dc739843ca860594cac29a9a72b235","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-1.4.1.tgz","fileCount":48,"integrity":"sha512-6DAySxlMpTeQ77+adv01ckUB13/bFvwaXSN38umuItHJewLhJFMOUWJlFPCu+YB+sA9gkLQL8Av5SoG5yJD5vw==","signatures":[{"sig":"MEQCIA156FY31p6N6hQqyTLHC8YLnEmtUjVkOEKEVV2gszMtAiA4Abpp36GCXq8hi3zT0Jzmh91YHuKmDLcGSsRDPMRSsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18829533},"main":"lib/pdf-parse.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"6c3568b8ff28ebe48069795f56b46d58f2d479d8","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js"},"_npmUser":{"name":"simone.gosetto","actor":{"name":"simone.gosetto","type":"user","email":"simone.gosetto@gmail.com"},"email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse.git","type":"git"},"_npmVersion":"11.4.2","description":"Pure javascript cross-platform module to extract text from PDFs.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_1.4.1_1750313721962_0.12855471788248352","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.1":{"name":"pdf-parse-new","version":"2.0.0-beta.1","keywords":["pdf-parse","pdf-parser","pdf-extractor","pdf-to-text","pdf-text-extract","pdf.js","pdfjs","pdf2json","smart-parser","multi-core","worker-threads","child-processes","performance","ai-powered","automatic-optimization","server-side-pdf","pdf-metadata","cross-platform","javascript","typescript"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@2.0.0-beta.1","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse-new","bugs":{"url":"https://github.com/simonegosetto/pdf-parse-new/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"fc26d6dc4531dd4bbbcdde616643617e69f9c71a","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-2.0.0-beta.1.tgz","fileCount":66,"integrity":"sha512-ODiwGgLXvtiBt56d1GWSxe7zB+pbXBowqDrlDX3ehjJVpU+rlbNWGdV//OGJwR8DpK8ogLwF0cR0oJgyi6DyRA==","signatures":[{"sig":"MEUCIDj+5YEWhI5KcYZfDMjzjvJpZeF1ir9qcMV8wZKHxaqrAiEAkL92fcqUa4qzRgCpFN/vRFk28NaC+ljrH1amlNdUmJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18966993},"main":"lib/pdf-parse.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"89fa40e00e24b2f6da27f895ba955f7cfdac2bc5","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","beta:next":"npm version prerelease --preid=beta","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js","beta:install":"npm install pdf-parse-new@beta","beta:publish":"npm publish --tag beta","example:basic":"node test/examples/01-basic-parse.js","example:batch":"node test/examples/02-batch-parse.js","example:smart":"node test/examples/06-smart-parser.js","example:stream":"node test/examples/03-stream-parse.js","test:ligatures":"node test/examples/08-test-ligatures.js","example:compare":"node test/examples/07-compare-all.js","example:workers":"node test/examples/04-workers-parse.js","example:processes":"node test/examples/05-processes-parse.js"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse-new.git","type":"git"},"_npmVersion":"11.6.2","description":"Pure javascript cross-platform module to extract text from PDFs with AI-powered optimization and multi-core processing.","directories":{},"_nodeVersion":"24.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"axios":"^1.13.2","mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_2.0.0-beta.1_1763935160765_0.5915137414864364","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.2":{"name":"pdf-parse-new","version":"2.0.0-beta.2","keywords":["pdf-parse","pdf-parser","pdf-extractor","pdf-to-text","pdf-text-extract","pdf.js","pdfjs","pdf2json","smart-parser","multi-core","worker-threads","child-processes","performance","ai-powered","automatic-optimization","server-side-pdf","pdf-metadata","cross-platform","javascript","typescript"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@2.0.0-beta.2","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse-new","bugs":{"url":"https://github.com/simonegosetto/pdf-parse-new/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"137cc5d4bf016cf58a0dd8b33796d170d76bf031","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-2.0.0-beta.2.tgz","fileCount":66,"integrity":"sha512-l+Su7KaNY7klujjdsw+Kaw+wIHBUsZknZCkF3dtQ5wF/YqH7cHifXFXBnDHYpM4pthTl5KgUAfH37/4Cyi2dUw==","signatures":[{"sig":"MEQCIEledQeuCTJUNMspa33yrIDxwfwjOcdvwYajt70SHRnKAiA80mWAeMJUkEy/X7EOBCxTGlDElVr3Lmd02lTLnlCvdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18907734},"main":"lib/pdf-parse.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"c5b010a49b2b25f2437bc2959e20fc8a04fcadec","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","beta:next":"npm version prerelease --preid=beta","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js","beta:install":"npm install pdf-parse-new@beta","beta:publish":"npm publish --tag beta","example:basic":"node test/examples/01-basic-parse.js","example:batch":"node test/examples/02-batch-parse.js","example:smart":"node test/examples/06-smart-parser.js","example:stream":"node test/examples/03-stream-parse.js","test:ligatures":"node test/examples/08-test-ligatures.js","example:compare":"node test/examples/07-compare-all.js","example:workers":"node test/examples/04-workers-parse.js","example:processes":"node test/examples/05-processes-parse.js"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse-new.git","type":"git"},"_npmVersion":"11.6.2","description":"Pure javascript cross-platform module to extract text from PDFs with AI-powered optimization and multi-core processing.","directories":{},"_nodeVersion":"24.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"axios":"^1.13.2","mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_2.0.0-beta.2_1763977548648_0.8603381237283663","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.3":{"name":"pdf-parse-new","version":"2.0.0-beta.3","keywords":["pdf-parse","pdf-parser","pdf-extractor","pdf-to-text","pdf-text-extract","pdf.js","pdfjs","pdf2json","smart-parser","multi-core","worker-threads","child-processes","performance","ai-powered","automatic-optimization","server-side-pdf","pdf-metadata","cross-platform","javascript","typescript"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@2.0.0-beta.3","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse-new","bugs":{"url":"https://github.com/simonegosetto/pdf-parse-new/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"38663b5a0d50cd3f973f7bd6b88447ffdceda957","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-2.0.0-beta.3.tgz","fileCount":66,"integrity":"sha512-NBoc1767LxKshdxRelpO3hUiYPO0OO7unlYSukszVCwrXuFsm0RtQkfdyRmkCRi6Dnt5ZG8hvI/01MWEH3eCSw==","signatures":[{"sig":"MEUCIQDHnvjz4BhovhFx8VwxYsAsKJULxcufpqSD2BUDes6XCgIgFhbLJR3Q6L5XYdZLYdYYq/TiIMZBbtRHAU8SAtP7GHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18906937},"main":"lib/pdf-parse.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"ecf8259c3150608f547d14a66ed1457e1fd7c4cf","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","beta:next":"npm version prerelease --preid=beta","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js","beta:install":"npm install pdf-parse-new@beta","beta:publish":"npm publish --tag beta","example:basic":"node test/examples/01-basic-parse.js","example:batch":"node test/examples/02-batch-parse.js","example:smart":"node test/examples/06-smart-parser.js","example:stream":"node test/examples/03-stream-parse.js","test:ligatures":"node test/examples/08-test-ligatures.js","example:compare":"node test/examples/07-compare-all.js","example:workers":"node test/examples/04-workers-parse.js","example:processes":"node test/examples/05-processes-parse.js"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse-new.git","type":"git"},"_npmVersion":"11.6.2","description":"Pure javascript cross-platform module to extract text from PDFs with AI-powered optimization and multi-core processing.","directories":{},"_nodeVersion":"24.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"axios":"^1.13.2","mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_2.0.0-beta.3_1763978852089_0.19771563007358162","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.4":{"name":"pdf-parse-new","version":"2.0.0-beta.4","keywords":["pdf-parse","pdf-parser","pdf-extractor","pdf-to-text","pdf-text-extract","pdf.js","pdfjs","pdf2json","smart-parser","multi-core","worker-threads","child-processes","performance","ai-powered","automatic-optimization","server-side-pdf","pdf-metadata","cross-platform","javascript","typescript"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@2.0.0-beta.4","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse-new","bugs":{"url":"https://github.com/simonegosetto/pdf-parse-new/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"acafdf3ea183b2b074b18cdaa1fb2f9841d397c1","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-2.0.0-beta.4.tgz","fileCount":66,"integrity":"sha512-JojvY5nNFxBnfmYoy5sWQIBbM+TkOnHp1XtUJoQUFusD8GjETUFujgJ2JrFuw7t7JG05LttVBsXrp/yZm+Y9lQ==","signatures":[{"sig":"MEQCICl9P/byzRTwgM1vILqkPkL6rwwobD6urlsfaITg1YbZAiBycH5U06UdMoEO0Y4rxoVu6WXpHnP5SBy5DGalDaKrLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18906929},"main":"index.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"cf7f26ac074c60ca5f224464bfd723373ab7a165","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","beta:next":"npm version prerelease --preid=beta","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js","beta:install":"npm install pdf-parse-new@beta","beta:publish":"npm publish --tag beta","example:basic":"node test/examples/01-basic-parse.js","example:batch":"node test/examples/02-batch-parse.js","example:smart":"node test/examples/06-smart-parser.js","example:stream":"node test/examples/03-stream-parse.js","test:ligatures":"node test/examples/08-test-ligatures.js","example:compare":"node test/examples/07-compare-all.js","example:workers":"node test/examples/04-workers-parse.js","example:processes":"node test/examples/05-processes-parse.js"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse-new.git","type":"git"},"_npmVersion":"11.6.2","description":"Pure javascript cross-platform module to extract text from PDFs with AI-powered optimization and multi-core processing.","directories":{},"_nodeVersion":"24.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"axios":"^1.13.2","mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_2.0.0-beta.4_1763979308690_0.23998456284007785","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.5":{"name":"pdf-parse-new","version":"2.0.0-beta.5","keywords":["pdf-parse","pdf-parser","pdf-extractor","pdf-to-text","pdf-text-extract","pdf.js","pdfjs","pdf2json","smart-parser","multi-core","worker-threads","child-processes","performance","ai-powered","automatic-optimization","server-side-pdf","pdf-metadata","cross-platform","javascript","typescript"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@2.0.0-beta.5","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse-new","bugs":{"url":"https://github.com/simonegosetto/pdf-parse-new/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"30c529db53bd208653e712283c6499bba84c08ef","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-2.0.0-beta.5.tgz","fileCount":66,"integrity":"sha512-MbQyR+dLMW/HKwymjMSxXm2UCllpxOLknXIOjA85PE1PdK7mH29qz77kf89Dzf/D4I5UmU6h24WrDQu6TB3P3Q==","signatures":[{"sig":"MEYCIQD/9y7jHCTWLg7xQuR3b8XuU1vm6/zXOozqm0Zm5N0rogIhAMcvkGBwzdIl//JhRlrYdV94C3gzvsOWW1wVWsUNTO2q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18908406},"main":"index.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"63da12240e6144a3bf6aab8a6f6c52157761ab8b","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","beta:next":"npm version prerelease --preid=beta","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js","beta:install":"npm install pdf-parse-new@beta","beta:publish":"npm publish --tag beta","example:basic":"node test/examples/01-basic-parse.js","example:batch":"node test/examples/02-batch-parse.js","example:smart":"node test/examples/06-smart-parser.js","example:stream":"node test/examples/03-stream-parse.js","test:ligatures":"node test/examples/08-test-ligatures.js","example:compare":"node test/examples/07-compare-all.js","example:workers":"node test/examples/04-workers-parse.js","example:processes":"node test/examples/05-processes-parse.js"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse-new.git","type":"git"},"_npmVersion":"11.6.2","description":"Pure javascript cross-platform module to extract text from PDFs with AI-powered optimization and multi-core processing.","directories":{},"_nodeVersion":"24.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"axios":"^1.13.2","mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_2.0.0-beta.5_1763981557065_0.17931665180675704","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.6":{"name":"pdf-parse-new","version":"2.0.0-beta.6","keywords":["pdf-parse","pdf-parser","pdf-extractor","pdf-to-text","pdf-text-extract","pdf.js","pdfjs","pdf2json","smart-parser","multi-core","worker-threads","child-processes","performance","ai-powered","automatic-optimization","server-side-pdf","pdf-metadata","cross-platform","javascript","typescript"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@2.0.0-beta.6","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse-new","bugs":{"url":"https://github.com/simonegosetto/pdf-parse-new/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"8deef56f33b6ea39865076e5849a6aa0d7a55f7f","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-2.0.0-beta.6.tgz","fileCount":69,"integrity":"sha512-jfmvVcX0qkrlAhoElvBeY2PDdJ94b5Y/Xg5T3UKcIaYvfFE97GOmwtiJTntFzw/weqRXi8JCmydxRokARWNywQ==","signatures":[{"sig":"MEQCIQCF1UxS2D14ai2mIZz3h8FXtX4SYhu78MQR0a9SmKJSGQIfJJpHaZkVFCZyL2Bp7Zn56bbFSsQgIeo5TznlUZGkeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18923963},"main":"index.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"67b38a7c28b72a4dfdfd53bfe1ee18563841b16e","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","beta:next":"npm version prerelease --preid=beta","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js","beta:install":"npm install pdf-parse-new@beta","beta:publish":"npm publish --tag beta","example:basic":"node test/examples/01-basic-parse.js","example:batch":"node test/examples/02-batch-parse.js","example:smart":"node test/examples/06-smart-parser.js","example:stream":"node test/examples/03-stream-parse.js","test:ligatures":"node test/examples/08-test-ligatures.js","example:compare":"node test/examples/07-compare-all.js","example:workers":"node test/examples/04-workers-parse.js","example:processes":"node test/examples/05-processes-parse.js"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse-new.git","type":"git"},"_npmVersion":"11.6.2","description":"Pure javascript cross-platform module to extract text from PDFs with AI-powered optimization and multi-core processing.","directories":{},"_nodeVersion":"24.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"axios":"^1.13.2","mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_2.0.0-beta.6_1763983710459_0.9871242311484474","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.7":{"name":"pdf-parse-new","version":"2.0.0-beta.7","keywords":["pdf-parse","pdf-parser","pdf-extractor","pdf-to-text","pdf-text-extract","pdf.js","pdfjs","pdf2json","smart-parser","multi-core","worker-threads","child-processes","performance","ai-powered","automatic-optimization","server-side-pdf","pdf-metadata","cross-platform","javascript","typescript"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@2.0.0-beta.7","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse-new","bugs":{"url":"https://github.com/simonegosetto/pdf-parse-new/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"9cd6b76c3840aa38fb545405385168b38d57aefe","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-2.0.0-beta.7.tgz","fileCount":73,"integrity":"sha512-GcjCfhRLU5lknIZyy4yzg9AhtKC4647Jt4amrFo581KKOV8vaOQTsIsvpftFprW1Jn85V2NDzJoqE5KO1dcelA==","signatures":[{"sig":"MEQCIA34N4pDAaYXlxGMqBcbVpdloYwVS8SqbYCk/vxhbBYyAiBwugyVwdx0w5q3kGvXqrhtnHN+IigtTJG55CryiU8ffA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18934205},"main":"index.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"08d5936917730e57ee5d4b1f682bc454d52570fb","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","beta:next":"npm version prerelease --preid=beta","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js","beta:install":"npm install pdf-parse-new@beta","beta:publish":"npm publish --tag beta","example:basic":"node test/examples/01-basic-parse.js","example:batch":"node test/examples/02-batch-parse.js","example:smart":"node test/examples/06-smart-parser.js","example:stream":"node test/examples/03-stream-parse.js","test:ligatures":"node test/examples/08-test-ligatures.js","example:compare":"node test/examples/07-compare-all.js","example:workers":"node test/examples/04-workers-parse.js","example:processes":"node test/examples/05-processes-parse.js"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse-new.git","type":"git"},"_npmVersion":"11.6.2","description":"Pure javascript cross-platform module to extract text from PDFs with AI-powered optimization and multi-core processing.","directories":{},"_nodeVersion":"24.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"axios":"^1.13.2","mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_2.0.0-beta.7_1763985378809_0.4148186406112071","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"pdf-parse-new","version":"2.0.0","keywords":["pdf-parse","pdf-parser","pdf-extractor","pdf-to-text","pdf-text-extract","pdf.js","pdfjs","pdf2json","smart-parser","multi-core","worker-threads","child-processes","performance","ai-powered","automatic-optimization","server-side-pdf","pdf-metadata","cross-platform","javascript","typescript"],"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","_id":"pdf-parse-new@2.0.0","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"homepage":"https://github.com/simonegosetto/pdf-parse-new","bugs":{"url":"https://github.com/simonegosetto/pdf-parse-new/issues","email":"simone.gosetto@gmail.com"},"dist":{"shasum":"14afb5b24fe941dadfcd2b366e0e96cef0f61a66","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-2.0.0.tgz","fileCount":73,"integrity":"sha512-9RG2m8lws0H/6kn9kngrooLNJM/FW8rtLRLgtxd69fuEV/uuP7L6ez3dKt2hGW/laO/eVxGiQYYwo+wysB4saA==","signatures":[{"sig":"MEUCIHUz0dWJj+kd0C/Sxf13P/MXE6FkjSs3UZKncZIzVlJCAiEAp0GW+/cgvdQwwOZ25xXzYX4HffCe9CPih9wNT2ybFuc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18999801},"main":"index.js","types":"index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"eb69f7c309888a7f8f82531033acb090ecfb5c3e","scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js","up:major":"npm version major","up:minor":"npm version minor","up:patch":"npm version patch","beta:next":"npm version prerelease --preid=beta","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js","beta:install":"npm install pdf-parse-new@beta","beta:publish":"npm publish --tag beta","example:basic":"node test/examples/01-basic-parse.js","example:batch":"node test/examples/02-batch-parse.js","example:smart":"node test/examples/06-smart-parser.js","example:stream":"node test/examples/03-stream-parse.js","test:ligatures":"node test/examples/08-test-ligatures.js","example:compare":"node test/examples/07-compare-all.js","example:workers":"node test/examples/04-workers-parse.js","example:processes":"node test/examples/05-processes-parse.js"},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"repository":{"url":"git+https://github.com/simonegosetto/pdf-parse-new.git","type":"git"},"_npmVersion":"11.6.2","description":"Pure javascript cross-platform module to extract text from PDFs with AI-powered optimization and multi-core processing.","directories":{},"_nodeVersion":"24.11.0","dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"axios":"^1.13.2","mocha":"^10.4.0","webpack":"5.94.0","node-loader":"^2.0.0","webpack-cli":"^5.1.4","copy-webpack-plugin":"^12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-parse-new_2.0.0_1764623043756_0.37763356394514336","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"pdf-parse-new","version":"2.1.0","description":"Pure javascript cross-platform module to extract text from PDFs with AI-powered optimization and multi-core processing.","main":"index.js","types":"index.d.ts","keywords":["pdf-parse","pdf-parser","pdf-extractor","pdf-to-text","pdf-text-extract","pdf.js","pdfjs","pdf2json","smart-parser","multi-core","worker-threads","child-processes","performance","ai-powered","automatic-optimization","server-side-pdf","pdf-metadata","cross-platform","javascript","typescript"],"dependencies":{"debug":"^4.3.4","node-ensure":"^0.0.0"},"devDependencies":{"axios":"1.15.2","copy-webpack-plugin":"^12.0.2","mocha":"^10.4.0","node-loader":"^2.1.0","webpack":"5.104.1","webpack-cli":"^5.1.4"},"scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","build:test":"webpack --config ./test/webpack.config.js && node .\\test\\build.js","start":"node index.js","example:basic":"node test/examples/01-basic-parse.js","example:batch":"node test/examples/02-batch-parse.js","example:stream":"node test/examples/03-stream-parse.js","example:workers":"node test/examples/04-workers-parse.js","example:processes":"node test/examples/05-processes-parse.js","example:smart":"node test/examples/06-smart-parser.js","example:compare":"node test/examples/07-compare-all.js","test:ligatures":"node test/examples/08-test-ligatures.js","up:patch":"npm version patch","up:minor":"npm version minor","up:major":"npm version major","beta:next":"npm version prerelease --preid=beta","beta:publish":"npm publish --tag beta","beta:install":"npm install pdf-parse-new@beta"},"homepage":"https://github.com/simonegosetto/pdf-parse-new","bugs":{"url":"https://github.com/simonegosetto/pdf-parse-new/issues","email":"simone.gosetto@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/simonegosetto/pdf-parse-new.git"},"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","engines":{"node":">=20.11.0"},"gitHead":"d1b386f4aa4c4c8ffc871a43e8ac50c246dacb70","_id":"pdf-parse-new@2.1.0","_nodeVersion":"24.11.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-9QRqtNGhsc3JXkolbnm31L5C8rY9OJkvDFI+L3nY0gbs53u48fixvMJgXtlRegUZj9aUCbwfh4qQnj0qw1atdw==","shasum":"b43319ab59d8e25628dbda23107665e32fd28657","tarball":"https://registry.npmjs.org/pdf-parse-new/-/pdf-parse-new-2.1.0.tgz","fileCount":76,"unpackedSize":18950092,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCqejb/2dxzuRVft75tpK18o01ZDePm/intx2xlmB3rfAIhAM9QDcaj/P0CVVJ+PlggyfWjTOeMUMpuzQCS3E+DDLCP"}]},"_npmUser":{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"},"directories":{},"maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pdf-parse-new_2.1.0_1777530288956_0.763024513998874"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-22T13:25:39.181Z","modified":"2026-04-30T06:24:49.500Z","1.1.1":"2024-05-22T13:25:39.613Z","1.1.2":"2024-05-22T13:30:16.913Z","1.1.3":"2024-05-22T13:41:35.158Z","1.1.4":"2024-08-13T14:30:44.139Z","1.1.5":"2024-08-26T12:32:58.892Z","1.2.0":"2024-08-30T08:01:17.761Z","1.2.1":"2024-08-30T08:05:40.103Z","1.2.2":"2024-08-30T08:10:41.072Z","1.2.3":"2024-08-30T08:14:31.569Z","1.2.4":"2024-08-30T08:20:31.707Z","1.3.0":"2024-09-02T07:29:07.300Z","1.3.1":"2024-09-02T08:55:40.167Z","1.3.2":"2024-09-02T09:14:01.740Z","1.3.3":"2024-09-02T09:25:32.348Z","1.3.4":"2024-09-02T10:56:24.208Z","1.3.5":"2024-09-02T11:18:26.905Z","1.3.6":"2024-09-02T11:26:36.140Z","1.3.7":"2024-09-18T07:21:55.411Z","1.3.8":"2024-10-30T16:29:05.271Z","1.3.9-beta-0":"2024-10-30T16:55:39.915Z","1.3.9-beta.0":"2024-10-30T16:56:16.283Z","1.3.9":"2025-01-10T10:45:35.107Z","1.4.0":"2025-06-19T06:07:15.072Z","1.4.1":"2025-06-19T06:15:22.256Z","2.0.0-beta.1":"2025-11-23T21:59:21.056Z","2.0.0-beta.2":"2025-11-24T09:45:48.975Z","2.0.0-beta.3":"2025-11-24T10:07:32.415Z","2.0.0-beta.4":"2025-11-24T10:15:09.021Z","2.0.0-beta.5":"2025-11-24T10:52:37.426Z","2.0.0-beta.6":"2025-11-24T11:28:30.798Z","2.0.0-beta.7":"2025-11-24T11:56:19.090Z","2.0.0":"2025-12-01T21:04:04.137Z","2.1.0":"2026-04-30T06:24:49.401Z"},"bugs":{"url":"https://github.com/simonegosetto/pdf-parse-new/issues","email":"simone.gosetto@gmail.com"},"author":{"name":"Simone Gosetto","email":"simone.gosetto@gmail.com"},"license":"MIT","homepage":"https://github.com/simonegosetto/pdf-parse-new","keywords":["pdf-parse","pdf-parser","pdf-extractor","pdf-to-text","pdf-text-extract","pdf.js","pdfjs","pdf2json","smart-parser","multi-core","worker-threads","child-processes","performance","ai-powered","automatic-optimization","server-side-pdf","pdf-metadata","cross-platform","javascript","typescript"],"repository":{"type":"git","url":"git+https://github.com/simonegosetto/pdf-parse-new.git"},"description":"Pure javascript cross-platform module to extract text from PDFs with AI-powered optimization and multi-core processing.","maintainers":[{"name":"simone.gosetto","email":"simone.gosetto@gmail.com"}],"readme":"# pdf-parse-new\r\n---\r\n\r\n**Pure JavaScript cross-platform module to extract text from PDFs with intelligent performance optimization.**\r\n\r\n[![npm version](https://img.shields.io/npm/v/pdf-parse-new.svg?style=flat-square)](https://www.npmjs.com/package/pdf-parse-new)\r\n[![License](https://img.shields.io/npm/l/pdf-parse-new.svg?style=flat-square)](LICENSE)\r\n[![Downloads](https://img.shields.io/npm/dm/pdf-parse-new.svg?style=flat-square)](https://www.npmjs.com/package/pdf-parse-new)\r\n\r\n**Version 2.0.0** - Release with SmartPDFParser, multi-core processing, and AI-powered method selection based on 15,000+ real-world benchmarks.\r\n\r\n---\r\n\r\n## Table of Contents\r\n\r\n- [Features](#features)\r\n- [Installation](#installation)\r\n- [Quick Start](#quick-start)\r\n- [Smart Parser](#smart-parser)\r\n- [API Reference](#api-reference)\r\n- [Performance Optimization](#performance-optimization)\r\n- [Benchmarking](#benchmarking)\r\n- [Troubleshooting](#troubleshooting)\r\n- [Contributing](#contributing)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## Features\r\n\r\n### 🎯 New in Version 2.0.0\r\n\r\n✨ **SmartPDFParser with AI-Powered Selection**\r\n- Automatically selects optimal parsing method based on PDF characteristics\r\n- CPU-aware thresholds that adapt to available hardware (4 to 48+ cores)\r\n- Fast-path optimization: **50x faster** overhead for small PDFs (25ms → 0.5ms)\r\n- LRU caching: **25x faster** on repeated similar PDFs\r\n- 90%+ optimization rate in production\r\n\r\n⚡ **Multi-Core Performance**\r\n- **Child Processes**: True multi-processing, 2-4x faster for huge PDFs\r\n- **Worker Threads**: Alternative multi-threading with lower memory overhead\r\n- **Oversaturation**: Use 1.5x-2x cores for maximum CPU utilization (I/O-bound optimization)\r\n- Automatic memory safety limits\r\n\r\n📊 **Battle-Tested Intelligence**\r\n- Decision tree trained on **9,417 real-world PDF benchmarks**\r\n- Tested on documents from 1 to 10,000+ pages\r\n- CPU normalization: adapts thresholds from 4-core laptops to 48-core servers\r\n- Production-ready with comprehensive error handling\r\n\r\n🚀 **Multiple Parsing Strategies**\r\n- **Batch Processing**: Parallel page processing (optimal for 0-1000 pages)\r\n- **Child Processes**: Multi-processing (default for 1000+ pages, most consistent)\r\n- **Worker Threads**: Multi-threading (alternative, can be faster on some PDFs)\r\n- **Streaming**: Memory-efficient chunking for constrained environments\r\n- **Aggressive**: Combines streaming with large batches\r\n- **Sequential**: Traditional fallback\r\n\r\n🔧 **Developer Experience**\r\n- Drop-in replacement for pdf-parse (backward compatible)\r\n- 7 practical examples in `test/examples/`\r\n- Full TypeScript definitions with autocomplete\r\n- Comprehensive benchmarking tools included\r\n- Zero configuration required (paths resolved automatically)\r\n\r\n---\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install pdf-parse-new\r\n```\r\n\r\n---\r\n\r\n## What's New in 2.0.0\r\n\r\n### 🎯 Major Features\r\n\r\n**SmartPDFParser** - Intelligent automatic method selection\r\n- CPU-aware decision tree (adapts to 4-48+ cores)\r\n- Fast-path optimization (0.5ms overhead vs 25ms)\r\n- LRU caching for repeated PDFs\r\n- 90%+ optimization rate\r\n\r\n**Multi-Core Processing**\r\n- Child processes (default, most consistent)\r\n- Worker threads (alternative, can be faster)\r\n- Oversaturation factor (1.5x cores = better CPU utilization)\r\n- Automatic memory safety\r\n\r\n**Performance Improvements**\r\n- 2-4x faster for huge PDFs (1000+ pages)\r\n- 50x faster overhead for tiny PDFs (< 0.5 MB)\r\n- 25x faster on cache hits\r\n- CPU normalization for any hardware\r\n\r\n**Better DX**\r\n- 7 practical examples with npm scripts\r\n- Full TypeScript definitions\r\n- Comprehensive benchmarking tools\r\n- Clean repository structure\r\n\r\n### 📦 Migration from 1.x\r\n\r\nVersion 2.0.0 is **backward compatible**. Your existing code will continue to work:\r\n\r\n```javascript\r\n// v1.x code still works\r\nconst pdf = require('pdf-parse-new');\r\npdf(buffer).then(data => console.log(data.text));\r\n```\r\n\r\n**To take advantage of new features:**\r\n\r\n```javascript\r\n// Use SmartPDFParser for automatic optimization\r\nconst SmartParser = require('pdf-parse-new/lib/SmartPDFParser');\r\nconst parser = new SmartParser();\r\nconst result = await parser.parse(buffer);\r\nconsole.log(`Used ${result._meta.method} in ${result._meta.duration}ms`);\r\n```\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n### Basic Usage\r\n\r\n```javascript\r\nconst fs = require('fs');\r\nconst pdf = require('pdf-parse-new');\r\n\r\nconst dataBuffer = fs.readFileSync('path/to/file.pdf');\r\n\r\npdf(dataBuffer).then(function(data) {\r\n    console.log(data.numpages);  // Number of pages\r\n    console.log(data.text);       // Full text content\r\n    console.log(data.info);       // PDF metadata\r\n});\r\n```\r\n\r\n### 📚 Examples\r\n\r\nSee [test/examples/](test/examples/) for practical examples:\r\n\r\n```bash\r\n# Try the examples\r\nnpm run example:basic      # Basic parsing\r\nnpm run example:smart      # SmartPDFParser (recommended)\r\nnpm run example:compare    # Compare all methods\r\n\r\n# Or run directly\r\nnode test/examples/01-basic-parse.js\r\nnode test/examples/06-smart-parser.js\r\n```\r\n\r\n**7 complete examples** covering all parsing methods with real-world patterns!\r\n\r\n### With Smart Parser (Recommended)\r\n\r\n```javascript\r\nconst SmartParser = require('pdf-parse-new/lib/SmartPDFParser');\r\n\r\nconst parser = new SmartParser();\r\nconst dataBuffer = fs.readFileSync('large-document.pdf');\r\n\r\nparser.parse(dataBuffer).then(function(result) {\r\n    console.log(`Parsed ${result.numpages} pages in ${result._meta.duration}ms`);\r\n    console.log(`Method used: ${result._meta.method}`);\r\n    console.log(result.text);\r\n});\r\n```\r\n\r\n### Exception Handling\r\n\r\n```javascript\r\npdf(dataBuffer)\r\n    .then(data => {\r\n        // Process data\r\n    })\r\n    .catch(error => {\r\n        console.error('Error parsing PDF:', error);\r\n    });\r\n```\r\n\r\n---\r\n\r\n## Smart Parser\r\n\r\nThe `SmartPDFParser` automatically selects the optimal parsing method based on PDF characteristics.\r\n\r\n### Decision Tree\r\n\r\nBased on 9,417 real-world benchmarks (trained 2025-11-23):\r\n\r\n| Pages     | Method    | Avg Time | Best For                    |\r\n|-----------|-----------|----------|-----------------------------|\r\n| 1-10      | batch-5   | ~10ms    | Tiny documents              |\r\n| 11-50     | batch-10  | ~107ms   | Small documents             |\r\n| 51-200    | batch-20  | ~332ms   | Medium documents            |\r\n| 201-500   | batch-50  | ~1102ms  | Large documents             |\r\n| 501-1000  | batch-50  | ~1988ms  | X-Large documents           |\r\n| **1000+** | **processes*** | **~2355-4468ms** | **Huge documents (2-4x faster!)** |\r\n\r\n**\\*Both workers and processes are excellent for huge PDFs. Processes is the default due to better consistency, but workers can be faster in some cases. Use `forceMethod: 'workers'` to try workers.**\r\n\r\n### Usage Options\r\n\r\n#### Automatic (Recommended)\r\n\r\n```javascript\r\nconst SmartParser = require('pdf-parse-new/lib/SmartPDFParser');\r\nconst parser = new SmartParser();\r\n\r\n// Automatically selects best method\r\nconst result = await parser.parse(pdfBuffer);\r\n```\r\n\r\n#### Force Specific Method\r\n\r\n```javascript\r\nconst parser = new SmartParser({\r\n    forceMethod: 'workers'  // 'batch', 'workers', 'processes', 'stream', 'sequential'\r\n});\r\n\r\n// Example: Compare workers vs processes for your specific PDFs\r\nconst testWorkers = new SmartParser({ forceMethod: 'workers' });\r\nconst testProcesses = new SmartParser({ forceMethod: 'processes' });\r\n\r\nconst result1 = await testWorkers.parse(hugePdfBuffer);\r\nconsole.log(`Workers: ${result1._meta.duration}ms`);\r\n\r\nconst result2 = await testProcesses.parse(hugePdfBuffer);\r\nconsole.log(`Processes: ${result2._meta.duration}ms`);\r\n```\r\n\r\n#### Memory Limit\r\n\r\n```javascript\r\nconst parser = new SmartParser({\r\n    maxMemoryUsage: 2e9  // 2GB max\r\n});\r\n```\r\n\r\n#### Oversaturation for Maximum Performance\r\n\r\nPDF parsing is I/O-bound. During I/O waits, CPU cores sit idle. Oversaturation keeps them busy:\r\n\r\n```javascript\r\nconst parser = new SmartParser({\r\n    oversaturationFactor: 1.5  // Use 1.5x more workers than cores\r\n});\r\n\r\n// Example on 24-core system:\r\n// - Default (1.5x): 36 workers (instead of 23!)\r\n// - Aggressive (2x): 48 workers\r\n// - Conservative (1x): 24 workers\r\n```\r\n\r\n**Why this works:**\r\n- PDF parsing involves lots of I/O (reading data, decompressing)\r\n- During I/O, CPU cores are idle\r\n- More workers = cores stay busy = better throughput\r\n\r\n**Automatic memory limiting:**\r\n- Parser automatically limits workers if memory is constrained\r\n- Each worker needs ~2x PDF size in memory\r\n- Safe default balances speed and memory\r\n\r\n### Get Statistics\r\n\r\n```javascript\r\nconst stats = parser.getStats();\r\nconsole.log(stats);\r\n// {\r\n//   totalParses: 10,\r\n//   methodUsage: { batch: 8, workers: 2 },\r\n//   averageTimes: { batch: 150.5, workers: 2300.1 },\r\n//   failedParses: 0\r\n// }\r\n```\r\n\r\n### CPU-Aware Intelligence\r\n\r\nSmartPDFParser automatically adapts to your CPU:\r\n\r\n```javascript\r\n// On 4-core laptop\r\nparser.parse(500_page_pdf);\r\n// → Uses workers (threshold: ~167 pages)\r\n\r\n// On 48-core server\r\nparser.parse(500_page_pdf);\r\n// → Uses batch (threshold: ~2000 pages, workers overhead not worth it yet)\r\n```\r\n\r\nThis ensures optimal performance regardless of hardware! The decision tree was trained on multiple machines with different core counts.\r\n\r\n### Fast-Path Optimization\r\n\r\nSmartPDFParser uses intelligent fast-paths to minimize overhead:\r\n\r\n```javascript\r\nconst parser = new SmartParser();\r\n\r\n// Tiny PDF (< 0.5 MB)\r\nawait parser.parse(tiny_pdf);\r\n// ⚡ Fast-path: ~0.5ms overhead (50x faster than tree navigation!)\r\n\r\n// Small PDF (< 1 MB)\r\nawait parser.parse(small_pdf);\r\n// ⚡ Fast-path: ~0.5ms overhead\r\n\r\n// Medium PDF (already seen similar)\r\nawait parser.parse(medium_pdf);\r\n// 💾 Cache hit: ~1ms overhead\r\n\r\n// Common scenario (500 pages, 5MB)\r\nawait parser.parse(common_pdf);\r\n// 📋 Common scenario: ~2ms overhead\r\n\r\n// Rare case (unusual size/page ratio)\r\nawait parser.parse(unusual_pdf);\r\n// 🌳 Full tree: ~25ms overhead (only for edge cases)\r\n```\r\n\r\n**Overhead Comparison:**\r\n\r\n| PDF Type | Before | After | Speedup |\r\n|----------|--------|-------|---------|\r\n| Tiny (< 0.5 MB) | 25ms | **0.5ms** | **50x faster** ⚡ |\r\n| Small (< 1 MB) | 25ms | **0.5ms** | **50x faster** ⚡ |\r\n| Cached | 25ms | **1ms** | **25x faster** 💾 |\r\n| Common | 25ms | **2ms** | **12x faster** 📋 |\r\n| Rare | 25ms | 25ms | Same 🌳 |\r\n\r\n**90%+ of PDFs hit a fast-path!** This means minimal overhead even for tiny documents.\r\n\r\n---\r\n\r\n## API Reference\r\n\r\n### pdf(dataBuffer, options)\r\n\r\nParse a PDF file and extract text content.\r\n\r\n**Parameters:**\r\n- `dataBuffer` (Buffer): PDF file buffer\r\n- `options` (Object, optional):\r\n  - `pagerender` (Function): Custom page rendering function\r\n  - `max` (Number): Maximum number of pages to parse\r\n  - `version` (String): PDF.js version to use\r\n\r\n**Returns:** Promise<Object>\r\n- `numpages` (Number): Total number of pages\r\n- `numrender` (Number): Number of rendered pages\r\n- `info` (Object): PDF metadata\r\n- `metadata` (Object): PDF metadata object\r\n- `text` (String): Extracted text content\r\n- `version` (String): PDF.js version used\r\n\r\n### SmartPDFParser\r\n\r\n#### constructor(options)\r\n\r\n**Options:**\r\n- `forceMethod` (String): Force specific parsing method\r\n- `maxMemoryUsage` (Number): Maximum memory usage in bytes\r\n- `availableCPUs` (Number): Override CPU count detection\r\n\r\n#### parse(dataBuffer, userOptions)\r\n\r\nParse PDF with automatic method selection.\r\n\r\n**Returns:** Promise<Object> (same as pdf() with additional `_meta` field)\r\n- `_meta.method` (String): Parsing method used\r\n- `_meta.duration` (Number): Parse time in milliseconds\r\n- `_meta.analysis` (Object): PDF analysis data\r\n\r\n#### getStats()\r\n\r\nGet parsing statistics for current session.\r\n\r\n---\r\n\r\n## TypeScript and NestJS Support\r\n\r\nThis library includes full TypeScript definitions and works seamlessly with NestJS.\r\n\r\n### ⚠️ Important: Correct TypeScript Import\r\n\r\n```typescript\r\n// ✅ CORRECT: Use namespace import\r\nimport * as PdfParse from 'pdf-parse-new';\r\n\r\n// Create parser instance\r\nconst parser = new PdfParse.SmartPDFParser({\r\n  oversaturationFactor: 2.0,\r\n  enableFastPath: true\r\n});\r\n\r\n// Parse PDF\r\nconst result = await parser.parse(pdfBuffer);\r\nconsole.log(`Parsed ${result.numpages} pages using ${result._meta.method}`);\r\n```\r\n\r\n```typescript\r\n// ❌ WRONG: This will NOT work\r\nimport PdfParse from 'pdf-parse-new'; // Error: SmartPDFParser is not a constructor\r\nimport { SmartPDFParser } from 'pdf-parse-new'; // Error: No named export\r\n```\r\n\r\n### NestJS Service Example\r\n\r\n```typescript\r\nimport { Injectable } from '@nestjs/common';\r\nimport * as PdfParse from 'pdf-parse-new';\r\nimport * as fs from 'fs';\r\n\r\n@Injectable()\r\nexport class PdfService {\r\n  private parser: PdfParse.SmartPDFParser;\r\n\r\n  constructor() {\r\n    // Initialize parser with custom options\r\n    this.parser = new PdfParse.SmartPDFParser({\r\n      oversaturationFactor: 2.0,\r\n      enableFastPath: true,\r\n      enableCache: true,\r\n      maxWorkerLimit: 50\r\n    });\r\n  }\r\n\r\n  async parsePdf(filePath: string): Promise<string> {\r\n    const dataBuffer = fs.readFileSync(filePath);\r\n    const result = await this.parser.parse(dataBuffer);\r\n\r\n    console.log(`Pages: ${result.numpages}`);\r\n    console.log(`Method: ${result._meta?.method}`);\r\n    console.log(`Duration: ${result._meta?.duration?.toFixed(2)}ms`);\r\n\r\n    return result.text;\r\n  }\r\n\r\n  getParserStats() {\r\n    return this.parser.getStats();\r\n  }\r\n}\r\n```\r\n\r\n### NestJS Controller with File Upload\r\n\r\n```typescript\r\nimport { Controller, Post, UploadedFile, UseInterceptors } from '@nestjs/common';\r\nimport { FileInterceptor } from '@nestjs/platform-express';\r\nimport * as PdfParse from 'pdf-parse-new';\r\n\r\n@Controller('pdf')\r\nexport class PdfController {\r\n  private parser = new PdfParse.SmartPDFParser({ oversaturationFactor: 2.0 });\r\n\r\n  @Post('upload')\r\n  @UseInterceptors(FileInterceptor('file'))\r\n  async uploadPdf(@UploadedFile() file: Express.Multer.File) {\r\n    const result = await this.parser.parse(file.buffer);\r\n\r\n    return {\r\n      pages: result.numpages,\r\n      text: result.text,\r\n      metadata: result.info,\r\n      parsingInfo: {\r\n        method: result._meta?.method,\r\n        duration: result._meta?.duration,\r\n        fastPath: result._meta?.fastPath || false\r\n      }\r\n    };\r\n  }\r\n}\r\n```\r\n\r\n### Alternative Import Methods\r\n\r\n```typescript\r\n// Method 1: Namespace import (recommended)\r\nimport * as PdfParse from 'pdf-parse-new';\r\nconst parser = new PdfParse.SmartPDFParser();\r\n\r\n// Method 2: CommonJS require\r\nconst PdfParse = require('pdf-parse-new');\r\nconst parser = new PdfParse.SmartPDFParser();\r\n\r\n// Method 3: Direct module import\r\nimport SmartPDFParser = require('pdf-parse-new/lib/SmartPDFParser');\r\nconst parser = new SmartPDFParser();\r\n```\r\n\r\n### TypeScript Type Definitions\r\n\r\nAll types are fully documented and available:\r\n\r\n```typescript\r\nimport * as PdfParse from 'pdf-parse-new';\r\n\r\n// Use types from the namespace\r\ntype Result = PdfParse.Result;\r\ntype Options = PdfParse.Options;\r\ntype SmartParserOptions = PdfParse.SmartParserOptions;\r\n```\r\n\r\n📖 **For more detailed examples and troubleshooting**, see [NESTJS_USAGE.md](NESTJS_USAGE.md)\r\n\r\n---\r\n\r\n## Performance Optimization\r\n\r\n### Performance Comparison\r\n\r\nFor a 1500-page PDF:\r\n\r\n| Method     | Time (estimate) | Speed vs Batch | Notes |\r\n|------------|-----------------|----------------|-------|\r\n| Workers    | ~2.4-7s | **2-7x faster** ✨ | Faster startup, can vary by PDF |\r\n| Processes  | ~4.2-4.5s | **3-4x faster** | More consistent, better isolation |\r\n| Batch      | ~17.6s  | baseline | Good up to 1000 pages |\r\n| Sequential | ~17.8s  | 0.99x | Fallback only |\r\n\r\n**Note**: Performance varies by PDF complexity, size, and system. Both workers and processes provide significant speedup - test both on your specific PDFs to find the best option.\r\n\r\n### Best Practices\r\n\r\n1. **Use SmartParser for large documents** (100+ pages)\r\n2. **Batch processing is optimal** for most use cases (0-1000 pages)\r\n3. **Both Processes and Workers excel at huge PDFs** (1000+ pages)\r\n   - **Processes** (default): More consistent, better memory isolation, 2-4x faster than batch\r\n   - **Workers**: Can be faster on some PDFs, use `forceMethod: 'workers'` to test\r\n4. **Avoid sequential** unless you have a specific reason\r\n5. **Monitor memory** for PDFs over 500 pages\r\n\r\n### When to Use Each Method\r\n\r\n**Batch** (default for most cases)\r\n- PDFs up to 1000 pages\r\n- Balanced speed and memory usage\r\n- Best all-around performance\r\n\r\n**Workers** (best for huge PDFs)\r\n- PDFs over 1000 pages\r\n- Multi-core systems\r\n- When speed is critical\r\n- **Note**: Memory usage = PDF size × concurrent workers\r\n- For very large PDFs, limit `maxWorkers` to 2-4 to avoid memory issues\r\n\r\n**Processes** (alternative to workers)\r\n- Similar to workers but uses child processes\r\n- Better isolation but slightly slower\r\n\r\n**Stream** (memory constrained)\r\n- Very limited memory environments\r\n- When you need to process PDFs larger than available RAM\r\n\r\n**Sequential** (fallback)\r\n- Single-core systems\r\n- When parallel processing causes issues\r\n- Debugging purposes\r\n\r\n---\r\n\r\n## Benchmarking\r\n\r\nThe library includes comprehensive benchmarking tools for optimization.\r\n\r\n### Directory Structure\r\n\r\n```\r\nbenchmark/\r\n├── collect-benchmarks.js        # Collect performance data\r\n├── train-smart-parser.js        # Train decision tree\r\n├── test-pdfs.example.json       # Example PDF list\r\n└── test-pdfs.json              # Your PDFs (gitignored)\r\n```\r\n\r\n### Running Benchmarks\r\n\r\n1. **Setup test PDFs:**\r\n\r\n```bash\r\ncp benchmark/test-pdfs.example.json benchmark/test-pdfs.json\r\n# Edit test-pdfs.json with your PDF URLs/paths\r\n```\r\n\r\n2. **Collect benchmark data:**\r\n\r\n```bash\r\nnode benchmark/collect-benchmarks.js\r\n```\r\n\r\nFeatures:\r\n- Tests all parsing methods on each PDF\r\n- Supports local files and remote URLs\r\n- Saves incrementally (no data loss on interruption)\r\n- Generates detailed performance reports\r\n\r\n3. **Train decision tree (library developers only):**\r\n\r\n```bash\r\nnode benchmark/train-smart-parser.js\r\n```\r\n\r\nAnalyzes collected benchmarks and generates optimized parsing rules.\r\n\r\n### Example test-pdfs.json\r\n\r\n```json\r\n{\r\n  \"note\": \"Add your PDF URLs or file paths here\",\r\n  \"urls\": [\r\n    \"./test/data/sample.pdf\",\r\n    \"https://example.com/document.pdf\",\r\n    \"/absolute/path/to/file.pdf\"\r\n  ]\r\n}\r\n```\r\n\r\n---\r\n\r\n## Troubleshooting\r\n\r\n### Common Issues\r\n\r\n**Out of Memory**\r\n```javascript\r\n// Limit memory usage\r\nconst parser = new SmartParser({ maxMemoryUsage: 2e9 });\r\n\r\n// Or use streaming\r\nconst parser = new SmartParser({ forceMethod: 'stream' });\r\n```\r\n\r\n**Slow Parsing**\r\n```javascript\r\n// For large PDFs, force workers\r\nconst parser = new SmartParser({ forceMethod: 'workers' });\r\n```\r\n\r\n**Corrupted/Invalid PDFs**\r\n```javascript\r\n// More aggressive parsing\r\nconst pdf = require('pdf-parse-new/lib/pdf-parse-aggressive');\r\npdf(dataBuffer).then(data => console.log(data.text));\r\n```\r\n\r\n### Debug Mode\r\n\r\n```javascript\r\n// Enable verbose logging\r\nprocess.env.DEBUG = 'pdf-parse:*';\r\n```\r\n\r\n### Get Help\r\n\r\n- 📝 [Open an issue](https://github.com/your-repo/pdf-parse-new/issues)\r\n- 💬 Check existing issues for solutions\r\n- 📊 Include benchmark data when reporting performance issues\r\n\r\n---\r\n\r\n## NPM Module Compatibility\r\n\r\nThis library is designed to work correctly when installed as an npm module.\r\n\r\n### Path Resolution\r\n\r\nAll internal paths use proper resolution:\r\n- ✅ Worker threads: `path.join(__dirname, 'pdf-worker.js')`\r\n- ✅ Child processes: `path.join(__dirname, 'pdf-child.js')`\r\n- ✅ PDF.js: `require('./pdf.js/v4.5.136/build/pdf.js')`\r\n\r\nThis ensures the library works correctly:\r\n- When installed via `npm install`\r\n- In `node_modules/` directory\r\n- Regardless of working directory\r\n- With or without symlinks\r\n\r\n### No Configuration Required\r\n\r\nThe library automatically resolves all internal paths - you don't need to configure anything!\r\n\r\n---\r\n\r\n## Advanced Usage\r\n\r\n### Custom Page Renderer\r\n\r\n```javascript\r\nfunction customPageRenderer(pageData) {\r\n    const renderOptions = {\r\n        normalizeWhitespace: true,\r\n        disableCombineTextItems: false\r\n    };\r\n\r\n    return pageData.getTextContent(renderOptions).then(textContent => {\r\n        let text = '';\r\n        for (let item of textContent.items) {\r\n            text += item.str + ' ';\r\n        }\r\n        return text;\r\n    });\r\n}\r\n\r\nconst options = { pagerender: customPageRenderer };\r\npdf(dataBuffer, options).then(data => console.log(data.text));\r\n```\r\n\r\n### Limit Pages\r\n\r\n```javascript\r\n// Parse only first 10 pages\r\npdf(dataBuffer, { max: 10 }).then(data => {\r\n    console.log(`Parsed ${data.numrender} of ${data.numpages} pages`);\r\n});\r\n```\r\n\r\n### Parallel Processing\r\n\r\n```javascript\r\nconst PDFProcess = require('pdf-parse-new/lib/pdf-parse-processes');\r\n\r\nPDFProcess(dataBuffer, {\r\n    maxProcesses: 4,  // Use 4 parallel processes\r\n    batchSize: 10     // Process 10 pages per batch\r\n}).then(data => console.log(data.text));\r\n```\r\n\r\n---\r\n\r\n## Why pdf-parse-new?\r\n\r\n### vs. Original pdf-parse\r\n| Feature | pdf-parse | pdf-parse-new 2.0 |\r\n|---------|-----------|-------------------|\r\n| Speed (huge PDFs) | Baseline | **2-4x faster** ⚡ |\r\n| Smart optimization | ❌ | ✅ AI-powered |\r\n| Multi-core support | ❌ | ✅ Workers + Processes |\r\n| CPU adaptation | ❌ | ✅ 4-48+ cores |\r\n| Fast-path | ❌ | ✅ 50x faster overhead |\r\n| Caching | ❌ | ✅ LRU cache |\r\n| TypeScript | Partial | ✅ Complete |\r\n| Examples | Basic | ✅ 7 production-ready |\r\n| Benchmarking | ❌ | ✅ Tools included |\r\n| Maintenance | Slow | ✅ Active |\r\n\r\n### vs. Other PDF Libraries\r\n- ✅ **Pure JavaScript** (no native dependencies, no compilation)\r\n- ✅ **Cross-platform** (Windows, Mac, Linux - same code)\r\n- ✅ **Zero configuration** (paths auto-resolved, npm-safe)\r\n- ✅ **No memory leaks** (proper cleanup, GC-friendly)\r\n- ✅ **Production-ready** (comprehensive error handling)\r\n- ✅ **Well-tested** (9,417 benchmark samples)\r\n- ✅ **Modern** (async/await, Promises, ES6+)\r\n\r\n### Real-World Performance\r\n\r\n**9,924-page PDF (13.77 MB) on 24-core system:**\r\n```\r\nSequential: ~15,000ms\r\nBatch-50:   ~11,723ms\r\nProcesses:   ~4,468ms  ✅ (2.6x faster than batch)\r\nWorkers:     ~6,963ms  ✅ (1.7x faster than batch)\r\n\r\nSmartParser: Automatically chooses Processes ⚡\r\n```\r\n\r\n**100 KB PDF on any system:**\r\n```\r\nOverhead:\r\n- Without fast-path: 25ms\r\n- With fast-path:    0.5ms ✅ (50x faster)\r\n```\r\n\r\n---\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please read our contributing guidelines.\r\n\r\n### Development Setup\r\n\r\n```bash\r\ngit clone https://github.com/your-repo/pdf-parse-new.git\r\ncd pdf-parse-new\r\nnpm install\r\nnpm test\r\n```\r\n\r\n### Running Tests\r\n\r\n```bash\r\nnpm test                    # Run all tests\r\nnpm run test:smart         # Test smart parser\r\nnpm run benchmark          # Run benchmarks\r\n```\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT License - see [LICENSE](LICENSE) file for details.\r\n\r\n---\r\n\r\n## Credits\r\n\r\n- Based on [pdf-parse](https://gitlab.com/autokent/pdf-parse) by autokent\r\n- Powered by [PDF.js](https://mozilla.github.io/pdf.js/) v4.5.136 by Mozilla\r\n- Performance optimization and v2.0 development by Simone Gosetto\r\n\r\n---\r\n\r\n## Changelog\r\n\r\n### Version 2.0.0 (2025-11-23)\r\n\r\n**Major Features:**\r\n- ✨ SmartPDFParser with AI-powered method selection\r\n- ⚡ Multi-core processing (workers + processes)\r\n- 🚀 Oversaturation for maximum CPU utilization\r\n- ⚡ Fast-path optimization (50x faster overhead)\r\n- 💾 LRU caching (25x faster on cache hits)\r\n- 🎯 CPU-aware thresholds (4-48+ cores)\r\n- 📊 Decision tree trained on 9,417 benchmarks\r\n- 🔧 7 production-ready examples\r\n- 📝 Complete TypeScript definitions\r\n- 🧪 Comprehensive benchmarking tools\r\n\r\n**Performance:**\r\n- 2-4x faster for huge PDFs (1000+ pages)\r\n- 50x faster overhead for tiny PDFs\r\n- 25x faster on repeated similar PDFs\r\n- 90%+ optimization rate in production\r\n\r\n**Breaking Changes:**\r\n- None - fully backward compatible with 1.x\r\n\r\nSee [CHANGELOG](CHANGELOG) for complete version history.\r\n\r\n---\r\n\r\n**Made with ❤️ for the JavaScript community**\r\n\r\n**npm**: [`pdf-parse-new`](https://www.npmjs.com/package/pdf-parse-new)\r\n**Repository**: [GitHub](https://github.com/simonegosetto/pdf-parse-new)\r\n**Issues**: [Report bugs](https://github.com/simonegosetto/pdf-parse-new/issues)\r\n\r\n","readmeFilename":"README.md"}