{"_id":"pdf-extraction","_rev":"3-b275adb63fe672ff9c33a163f41a19d2","name":"pdf-extraction","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"pdf-extraction","version":"1.0.0","description":"Pure javascript cross-platform module to extract text from PDFs.","main":"index.js","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-extraction","pdf-parse","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"dependencies":{"debug":"^3.1.0","node-ensure":"^0.0.0"},"devDependencies":{"mocha":"^4.0.1"},"scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js"},"homepage":"https://gitlab.com/fwiwDev/pdf-extraction","bugs":{"url":"https://gitlab.com/fwiwDev/pdf-extraction/issues"},"repository":{"type":"git","url":"git+https://gitlab.com/fwiwDev/pdf-extraction.git"},"author":{"name":"fwiwDev"},"license":"MIT","engines":{"node":">=6.8.1"},"_resolved":"","_integrity":"","_from":"git+https://gitlab.com/fwiwDev/pdf-extraction.git","_id":"pdf-extraction@1.0.0","_nodeVersion":"12.16.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-f5b9DlGCjqfK6mzfpoK182mdyiVvPYEtJYQVIY96qp+NVJ1RkedPyw9DVGOvtO9vTlNp8q/TQB12DNMtDwnJcQ==","shasum":"1c58891cd26e45b10bd967b675d1a66eeb9d4160","tarball":"https://registry.npmjs.org/pdf-extraction/-/pdf-extraction-1.0.0.tgz","fileCount":34,"unpackedSize":4982703,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZnVbCRA9TVsSAnZWagAAfTUP+wat686ayeu+8Y4D/lVN\nm4/MYUoIq2GrJVTrF9swS6G4xDQXVadxYhJgXZoMp1YxJG+x+iwbpF4QZwf+\nXMtIu0u/kp3/4HouwrXJprru1aASIZZt5B3PSR1QXtlcavFzeXwyeuGLyf20\nSc3zpxpzJ8S4JKw6G2GRwPu7XGeNAVAQI/bzyLjHEMFXvyUhTrf7cFpDFRBZ\nlqUjGEKg8/i4+z6ARJXXzFEbh/Hc+kFRvNWllUIBhSZ7m3jJ3tR2ZPfmPnF9\n3+VF/hjfFKwhIkSNc8oG0T4G660QHL4djc5OSf0pyXE0YKeUZ4bhKsT7kEAp\ngba31Yeb8fLle9P5BS1AyAGeajLSL4GEtNnkbz+34z+N90fv08xJbUrx9PHN\nUqU1tacfQmp/9M3uO0dJKN2Y2GV0Xeg7MriKj0kOjva8j3BcL4ZwCLAgWBRS\nDck29SZKgaYQ7AJkIIZb2elWvrtXFmFhHug2nMRCLC5X3jYI9Nn/SZbBMNWD\njbcIBcnnVXhQDSF+MS4UK3NtnqB+073S9NgCZldHJjs3fIcApw/JpxWh4q26\naP+yeeL1EAanazEhHVxuivZP0YzhhhJYFluJr75+X567J2cp8CHK92aiupaP\ndXJE8PJSFPC7sdmumJEyLEh9CfbWAAqs0bWP7rVN5YvWyLltL8XrjGsLnlbC\n7FAq\r\n=mAkB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIoLhJm85LeUk/KgPFz3W5urGOY7OyqJcedokNHtm8gAIhAOTsBrNUQmHBLi0Ik/qOjl9q+ut2ssIOFw/GGuM28kzY"}]},"maintainers":[{"name":"fellow-workers","email":"circuit.assistant@outlook.com"}],"_npmUser":{"name":"fellow-workers","email":"circuit.assistant@outlook.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pdf-extraction_1.0.0_1600550235117_0.9307839193169034"},"_hasShrinkwrap":false},"1.0.1":{"name":"pdf-extraction","version":"1.0.1","description":"Pure javascript cross-platform module to extract text from PDFs.","main":"index.js","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-extraction","pdf-parse","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"dependencies":{"debug":"^3.1.0","node-ensure":"^0.0.0"},"devDependencies":{"mocha":"^4.0.1"},"scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js"},"homepage":"https://gitlab.com/fwiwDev/pdf-extraction","bugs":{"url":"https://gitlab.com/fwiwDev/pdf-extraction/issues"},"repository":{"type":"git","url":"git+https://gitlab.com/fwiwDev/pdf-extraction.git"},"author":{"name":"fwiwDev"},"license":"MIT","engines":{"node":">=6.8.1"},"gitHead":"71c61c35ee548a2ad54c073049f20dfd9bc02ff8","_id":"pdf-extraction@1.0.1","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-O/ImmKxhPPs3iSuaB1NE9BGaVk703jvPYdmC+cFhdMSNmHBChchMAKXFNaVHy2HZ0iHKpKThEsfGpfKb7L21zA==","shasum":"9be8601a8e20805db5610f4fd87c333900a8f2ef","tarball":"https://registry.npmjs.org/pdf-extraction/-/pdf-extraction-1.0.1.tgz","fileCount":770,"unpackedSize":33311161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZspcCRA9TVsSAnZWagAAt70P+wVkdR1ltANaddusxSa6\nhA0VjRx/M1BXYxJm/u3NEWzxPpyq/LnQLfU+UYCIdiHxiQTHAERbOB4dfj4y\nf4st/S3rD5Vc3442tYFAzQZnrEVE+90q/9fK9Fgrx/anjHJbfstPoq2pwrDM\nGWOS34TJQYaKXNEyNJ0izMozXTyAlQpVhXfUzYciEHjR8AVHkPbZZnMhl8zW\nn1oFac1E+2pw4Qv8OiLYOubAFF00ta/6WhVn55Fe1coTJJSJTqqzYdmeboU4\nZdNTxfYAO7/YAsiqnRE7bkZMQzbbsdO+IhHKqNL9JsdxQQCbTsf4Ck/YU5HV\n3uIyZ5KB1sGkvkN5P/UrnKrMv9NPa6JSdUHLKWsNkHRfX/KMohci4vukeuok\nh8vJRnNRT5U5dOICG1wZfo6J+B8ZcO4KJbDdnssjVM4Goj99ocuRMX/UXX7h\nTurl7QbX924PWsmXGYpM7rbi+ZQkUvIoFtfFfiV7R39QaOnjOAkK3KlVk1NE\nPL6iNqEM/AJxaY+yKrQzdbvojH1w7EW1gXQG+AN2EV43CD/3dwOvgTb+722A\nM1WpgxdaHAjoBJCmVdd8jTKMM5JJ4oWdOPzXLorfLNhb+VFsF0PN9FGmwqmw\nckE3O6PmGkKoR2AViHuQkp8EJ35FRcrrjW1F7Ltgat5GUP2oT2uZaCm0FxxQ\nwnHC\r\n=e6wT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2yBb5eTEdbciA/Iw5Z+PjvMSIs+V/7vCBYQSHuNNl6QIgbBqi8COU4VTvq3CMxJL6CZbT+72XSBmCIC/P60CZprM="}]},"maintainers":[{"name":"fellow-workers","email":"circuit.assistant@outlook.com"}],"_npmUser":{"name":"fellow-workers","email":"circuit.assistant@outlook.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pdf-extraction_1.0.1_1600571995443_0.6684471284740268"},"_hasShrinkwrap":false},"1.0.2":{"name":"pdf-extraction","version":"1.0.2","description":"Pure javascript cross-platform module to extract text from PDFs.","main":"index.js","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-extraction","pdf-parse","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"dependencies":{"debug":"^3.1.0","node-ensure":"^0.0.0"},"devDependencies":{"mocha":"^4.0.1"},"scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js"},"homepage":"https://gitlab.com/fwiwDev/pdf-extraction","bugs":{"url":"https://gitlab.com/fwiwDev/pdf-extraction/issues"},"repository":{"type":"git","url":"git+https://gitlab.com/fwiwDev/pdf-extraction.git"},"author":{"name":"fwiwDev"},"license":"MIT","engines":{"node":">=6.8.1"},"gitHead":"80fdf3462515ae5ee646d3c80c0eaf94c40b694b","_id":"pdf-extraction@1.0.2","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-wVA4HvsvaNYVAH6wp0Tt5+AUHV3XIGM2KQMlOyblsn0YDSUKtTwCJq87F7vIbBnnKsc3noSpL/Bx/sfB1ZqpLA==","shasum":"10b3fc68ed73e77ff3eba92a9c643b7984c3eac0","tarball":"https://registry.npmjs.org/pdf-extraction/-/pdf-extraction-1.0.2.tgz","fileCount":770,"unpackedSize":33311173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZtDvCRA9TVsSAnZWagAAo9sP/igw8O26iMnfSRgkKlmV\nset0G59P0ErrKYroKuezWipk8LtSItMvwjybxBVSkb54K5iykq5V6amtmpFm\nMSE2ZC1kKT1Uy3pDbTb1CqRCAHdUk8WDQabQi//0rGvB4e3I3jNR2/sPk+s4\noSErPRTW53XKpWaLpRHhnfvSj8L8i77QLZbNWstrmWJJXGczLUdBsy9FoqI5\na/r3I2XD353lxYgjYgJOWI6i5IDqYXDlcnRyXTTf1VcvL9zulGicytIdth6e\nDYK5qgUqec24YzwHlTfJdjlAQkork6QX/M/TVnLEwN9Dfo3V2h1jrsz1vQ01\nbTkcGE6B+D8fQKuS4DaakX7hoyRA9R032tqW03z1Ez1XnLmPFcDwZz48un5G\nXZw0Ojcr2JmoBVQSQ82r2/1AU/sAaq0TYogs8uMgJIHWs4HPbpjNas8AoVhw\n/wwoiuz4tKGM8tLbhsuD1VeRlY1bu99TtV8eiWgsI3fAi6de1BQbpvMQturr\nVLMRPS2gB2aAzLunYWwDX88AOwPhh9YlowK7bEftVPGgGjG+rcZHnu4kn3m4\neJu81y35hZE4Amz0na7Pvly9n60wnw3P8VLQG6Hg5D8qDPLmktLttyFfL0b9\nDMZsp2ZDENr32pE276Zk1QAReGrtpZzE+2Isq0j+yKPgkmS5fur39pp9BjJ3\nvjru\r\n=22zY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHEK5sw3f6W61Wz7xEjcUWBPd2cLiMwI9cYPgQRcaHDPAiEA14OwGCd6qFH5lDtCvNf5S9utnRAjHJlnPlbzXxcFbRg="}]},"maintainers":[{"name":"fellow-workers","email":"circuit.assistant@outlook.com"}],"_npmUser":{"name":"fellow-workers","email":"circuit.assistant@outlook.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pdf-extraction_1.0.2_1600573678725_0.17286157102955402"},"_hasShrinkwrap":false}},"time":{"created":"2020-09-19T21:17:15.117Z","1.0.0":"2020-09-19T21:17:15.410Z","modified":"2022-05-12T18:00:37.495Z","1.0.1":"2020-09-20T03:19:55.864Z","1.0.2":"2020-09-20T03:47:59.200Z"},"maintainers":[{"name":"fellow-workers","email":"circuit.assistant@outlook.com"}],"description":"Pure javascript cross-platform module to extract text from PDFs.","homepage":"https://gitlab.com/fwiwDev/pdf-extraction","keywords":["pdf-parse","pdf-crawler","xpdf","pdf.js","pdfreader","pdf-extractor","pdf2json","j-pdfjson","pdf-extraction","pdf-parse","pdf-parser","pdf-extract","pdf-extractor","pdf-to-text","pdf-text-extract","pdfjs","server side PDF parsing","pdf metadata"],"repository":{"type":"git","url":"git+https://gitlab.com/fwiwDev/pdf-extraction.git"},"author":{"name":"fwiwDev"},"bugs":{"url":"https://gitlab.com/fwiwDev/pdf-extraction/issues"},"license":"MIT","readme":"# pdf-extraction\n\n**Pure javascript cross-platform module to extract texts from PDFs.**\n\n[![version](https://img.shields.io/npm/v/pdf-extraction.svg)](https://www.npmjs.org/package/pdf-extraction)\n[![downloads](https://img.shields.io/npm/dt/pdf-extraction.svg)](https://www.npmjs.org/package/pdf-extraction)\n[![node](https://img.shields.io/node/v/pdf-extraction.svg)](https://nodejs.org/)\n[![status](https://gitlab.com/fwiwDev/pdf-extraction/badges/master/pipeline.svg)](https://gitlab.com/fwiwDev/pdf-extraction/pipelines)\n\n<!-- ## Similar Packages\n* [pdf2json](https://www.npmjs.com/package/pdf2json) buggy, no support anymore, memory leak, throws non-catchable fatal errors\n* [j-pdfjson](https://www.npmjs.com/package/j-pdfjson) fork of pdf2json\n* [pdf-extraction](https://github.com/dunso/pdf-parse) buggy, no tests\n* [pdfreader](https://www.npmjs.com/package/pdfreader) using pdf2json\n* [pdf-extract](https://www.npmjs.com/package/pdf-extract) not cross-platform using xpdf -->\n\n## Installation\n\n`npm install pdf-extraction`\n\n## Basic Usage - Local Files\n\n```js\nconst fs = require(\"fs\");\nconst pdf = require(\"pdf-extraction\");\n\nlet dataBuffer = fs.readFileSync(\"path to PDF file...\");\n\npdf(dataBuffer).then(function (data) {\n\t// number of pages\n\tconsole.log(data.numpages);\n\t// number of rendered pages\n\tconsole.log(data.numrender);\n\t// PDF info\n\tconsole.log(data.info);\n\t// PDF metadata\n\tconsole.log(data.metadata);\n\t// PDF.js version\n\t// check https://mozilla.github.io/pdf.js/getting_started/\n\tconsole.log(data.version);\n\t// PDF text\n\tconsole.log(data.text);\n});\n```\n\n## Basic Usage - HTTP\n\nYou can use [crawler-request](https://www.npmjs.com/package/crawler-request) which uses the `pdf-extraction`\n\n## Exception Handling\n\n```js\nconst fs = require(\"fs\");\nconst pdf = require(\"pdf-extraction\");\n\nlet dataBuffer = fs.readFileSync(\"path to PDF file...\");\n\npdf(dataBuffer)\n\t.then(function (data) {\n\t\t// use data\n\t})\n\t.catch(function (error) {\n\t\t// handle exceptions\n\t});\n```\n\n## Extend\n\n- v1.0.9 and above break pagerender callback [changelog](https://gitlab.com/fwiwDev/pdf-extraction/blob/master/CHANGELOG)\n- If you need another format like json, you can change page render behaviour with a callback\n- Check out https://mozilla.github.io/pdf.js/\n\n```js\n// default render callback\nfunction render_page(pageData) {\n\t//check documents https://mozilla.github.io/pdf.js/\n\tlet render_options = {\n\t\t//replaces all occurrences of whitespace with standard spaces (0x20). The default value is `false`.\n\t\tnormalizeWhitespace: false,\n\t\t//do not attempt to combine same line TextItem's. The default value is `false`.\n\t\tdisableCombineTextItems: false,\n\t};\n\n\treturn pageData.getTextContent(render_options).then(function (textContent) {\n\t\tlet lastY,\n\t\t\ttext = \"\";\n\t\tfor (let item of textContent.items) {\n\t\t\tif (lastY == item.transform[5] || !lastY) {\n\t\t\t\ttext += item.str;\n\t\t\t} else {\n\t\t\t\ttext += \"\\n\" + item.str;\n\t\t\t}\n\t\t\tlastY = item.transform[5];\n\t\t}\n\t\treturn text;\n\t});\n}\n\nlet options = {\n\tpagerender: render_page,\n};\n\nlet dataBuffer = fs.readFileSync(\"path to PDF file...\");\n\npdf(dataBuffer, options).then(function (data) {\n\t//use new format\n});\n```\n\n## Options\n\n```js\nconst DEFAULT_OPTIONS = {\n\t// internal page parser callback\n\t// you can set this option, if you need another format except raw text\n\tpagerender: render_page,\n\t// max page number to parse\n\tmax: 0,\n\t//check https://mozilla.github.io/pdf.js/getting_started/\n\tversion: \"v1.10.100\",\n};\n```\n\n### _pagerender_ (callback)\n\nIf you need another format except raw text.\n\n### _max_ (number)\n\nMax number of page to parse. If the value is less than or equal to 0, parser renders all pages.\n\n### _version_ (string, pdf.js version)\n\ncheck [pdf.js](https://mozilla.github.io/pdf.js/getting_started/)\n\n- `'default'`\n- `'v1.9.426'`\n- `'v1.10.100'`\n- `'v1.10.88'`\n- `'v2.0.550'`\n\n> _default_ uses version _v1.10.100_  \n> [mozilla.github.io/pdf.js](https://mozilla.github.io/pdf.js/getting_started/#download)\n\n## Test\n\n- `mocha` or `npm test`\n- Check [test folder](https://gitlab.com/fwiwDev/pdf-extraction/tree/master/test) and [quickstart.js](https://gitlab.com/fwiwDev/pdf-extraction/blob/master/quickstart.js) for extra usages.\n\n## Support\n\nI use this package actively myself, so it has my top priority. You can chat on WhatsApp about any infos, ideas and suggestions.\n\n<!-- [![WhatsApp](https://img.shields.io/badge/style-chat-green.svg?style=flat&label=whatsapp)](https://api.whatsapp.com/send?phone=905063042480&text=Hi%2C%0ALet%27s%20talk%20about%20pdf-extraction) -->\n\n### Submitting an Issue\n\nIf you find a bug or a mistake, you can help by submitting an issue to [GitLab Repository](https://gitlab.com/fwiwDev/pdf-extraction/issues)\n\n### Creating a Merge Request\n\nGitLab calls it merge request instead of pull request.\n\n- [A Guide for First-Timers](https://about.gitlab.com/2016/06/16/fearless-contribution-a-guide-for-first-timers/)\n- [How to create a merge request](https://docs.gitlab.com/ee/gitlab-basics/add-merge-request.html)\n- Check [Contributing Guide](https://gitlab.com/fwiwDev/pdf-extraction/blob/master/CONTRIBUTING.md)\n\n## License\n\n[MIT licensed](https://gitlab.com/fwiwDev/pdf-extraction/blob/master/LICENSE) and all it's dependencies are MIT or BSD licensed.\n","readmeFilename":"README.md"}