{"_id":"@a-n-u-b-i-s/pdf-parse","_rev":"3-269e1abd49847eed668a4b118714b1e9","name":"@a-n-u-b-i-s/pdf-parse","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@a-n-u-b-i-s/pdf-parse","version":"0.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-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":{"@types/node":"^17.0.15","mocha":"^4.0.1"},"scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js"},"homepage":"https://gitlab.com/autokent/pdf-parse","bugs":{"url":"https://gitlab.com/autokent/pdf-parse/issues","email":"mehmet.kozan@live.com"},"repository":{"type":"git","url":"git+https://gitlab.com/autokent/pdf-parse.git"},"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","engines":{"node":">=6.8.1"},"gitHead":"bb3e6495056e83f91a5029b0a28ec25b1678cf55","_id":"@a-n-u-b-i-s/pdf-parse@0.0.1","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-TPiQPmrc8qstZO1LyvfDy2PVzjUkHpUCXzV3NCHCT+++RhNIzIWnJJ0/URjAwSkWAflo3gObiHrmTnD8Pr/DBg==","shasum":"128774ee94f9d72a641e91639a6d2165eb756aff","tarball":"https://registry.npmjs.org/@a-n-u-b-i-s/pdf-parse/-/pdf-parse-0.0.1.tgz","fileCount":51,"unpackedSize":29160756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/2sfCRA9TVsSAnZWagAAlVsP/AgGoA2yysi2WhPNsSPj\na4AfqrKDdiGrX5khWYOSigDD0ijkTSuleXafDg3JBTWCyGREMogquD+8Kgza\n7PRsk+kVqaAuPf6sOcVYBm5VK4XVsP0C0HTocbBsEX+JJPhfWPkCcDB/7vYg\nJ2z0yMzmWE7EhZIXfWggFmOXlkV+IJpFc6dLbQCFYc6uEX1uRddyJOVps1vT\npFh+q22HiSEvFKiMyfDre5wNSe+kw77K8P8qVGUxfjAKu+HEG36od/5iGMUd\nvmAabHcAqDZhz6zZ3oiMHe+T7oC4AJooKJ58Fqjn9NLC5o7KGEZXYZlS+ome\n3u5UdkaBXjNngZFnCmukwvNSsBmnB7xZ9XVcbxY/qbdw73PxTXKDvLS+RwQd\nQ0nIfPqC8/Nc8vFZ9hcC8/lOdtocKfXXyCVh3YVGH4b5YwPeSnRzP054HBkN\nq8G4SGARSLBSujxkRw6nHl8dNZ2BtLMS7dlOjgKgSHON0KSQwFGEFqAkZm/B\nX92q9P8I1Kw4viQmws0ZLBZoX0NR6emBwsCH3VTLuzljeHzu59GIvgrMnfDA\nSrPBKbx1jy+3AdPgCrwdTVik5QxqO30S4TLPUYZrmBqIlNN6taK4H9tEd69X\n1Y/ZV3sW8zESpAum6cjN1/IrtJsIwzOW0+DyXOPufU84v+dwaAWagf6yOD/j\njQS+\r\n=B8Ak\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpuHqft/wIPb0Qk12P08fAgMRDBnqf4HITGFxVezHqfAIgOM7NVj3/fjhSJsHhikVgtwwOjTCAWIZznufvrjGxPMc="}]},"_npmUser":{"name":"a-n-u-b-i-s","email":"watalanubhava@gmail.com"},"directories":{},"maintainers":[{"name":"a-n-u-b-i-s","email":"watalanubhava@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pdf-parse_0.0.1_1644129054914_0.4231689203010791"},"_hasShrinkwrap":false},"0.0.2":{"name":"@a-n-u-b-i-s/pdf-parse","version":"0.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-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":{"@types/node":"^17.0.15","mocha":"^4.0.1"},"scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js"},"homepage":"https://gitlab.com/autokent/pdf-parse","bugs":{"url":"https://gitlab.com/autokent/pdf-parse/issues","email":"mehmet.kozan@live.com"},"repository":{"type":"git","url":"git+https://gitlab.com/autokent/pdf-parse.git"},"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","engines":{"node":">=6.8.1"},"typings":"./index.d.ts","gitHead":"c4aa0280f5726b53caf1a4b21d61c0c33ab278fb","_id":"@a-n-u-b-i-s/pdf-parse@0.0.2","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-Bi6ueCA6RblMHmaA5Dfd2TWiU32/o89OCJJzBGpKWEvHts6CB0ZSk18rxlgcAnNq99/oe2fLs9xNhfbIwlrztw==","shasum":"8c87bd5191505b3b5188f127fb1ebbdab817ed34","tarball":"https://registry.npmjs.org/@a-n-u-b-i-s/pdf-parse/-/pdf-parse-0.0.2.tgz","fileCount":51,"unpackedSize":29160823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/25CCRA9TVsSAnZWagAAIbYP+gKh59RscMYk5yYoa6xN\nG8/eHE5d58ev+mcMHffThsa8rsERG6WNc2viNgav4rrHwdx8Asjutlv45qph\n2jqagbnGZosyRX5163Q/lUcR0f8oFKjrhwXsO07V88fAb7OzV/WeRygwoiUD\nkZ2tI6m8GEuQmGtoVvXaFw/G6ClIlYlxm0okTGMZNUwsPivLXPg+2mFZFJsu\nCORQKZHrWqq/0K+ytiqYnUnpthx6KLWAf4EpDaSbvAL8qqMl/Di8opkVDtxZ\nmlKPQktWLlxxdtC15hspYyZ1ESptbRHQYm9Ap3k5VyxFZGUiGz9ANOzvLZyk\neoNx4hpm7JxvRpE1wm9C71iTSvpeY5ppsA7wetzn5r7CoWE0G9faQm73DL/f\nH6NgABji0582aGhxJY49nbm4sONj04NFppR3h5gajuyvKAyAoJdoXk0IcKoZ\nDt11jc3u2JzAPunG1oEN04In8D4md38gUmVvLuXlqQIfs5uMmCHm61OuARne\npAdQkkSz3SV3kG8FtnXiSNekIcbdw9QEAMw4IVENXDK1lNOhLNSgmg8+tc5U\nl9ntZ5bYaZBhZzQCQfgiIvAzxgmXX7dd/cnE6XBAA37g2ozMEPPXpSFnIkfg\nEFz6Du9jKxvSQ1anSy6nY7AaTIzV/WbmRE6Bbr9hGk/VoTH/BdagRO+ocZ8+\nz99V\r\n=I7bA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtdiWZK/96naSKqwRcGL/cEL8pwvva2xty/nY+tpF07AIgTTDdAsZUpoCT+0zN9UJ+KNti7oTuTNnojfec12IeS0c="}]},"_npmUser":{"name":"a-n-u-b-i-s","email":"watalanubhava@gmail.com"},"directories":{},"maintainers":[{"name":"a-n-u-b-i-s","email":"watalanubhava@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pdf-parse_0.0.2_1644129858648_0.5603828390097689"},"_hasShrinkwrap":false},"0.0.3":{"name":"@a-n-u-b-i-s/pdf-parse","version":"0.0.3","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-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":{"@types/node":"^17.0.15","mocha":"^4.0.1"},"scripts":{"test":"node node_modules/mocha/bin/_mocha --recursive --slow 10000","start":"node index.js"},"homepage":"https://gitlab.com/autokent/pdf-parse","bugs":{"url":"https://gitlab.com/autokent/pdf-parse/issues","email":"mehmet.kozan@live.com"},"repository":{"type":"git","url":"git+https://gitlab.com/autokent/pdf-parse.git"},"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"license":"MIT","engines":{"node":">=6.8.1"},"typings":"./index.d.ts","gitHead":"69e6266c1d5e9343bd78e2e940fe1b807f04f58d","_id":"@a-n-u-b-i-s/pdf-parse@0.0.3","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-I2rPMroJZx+X17lijLiMqN0AmP47I4UBFxaOdvpCzggCiA0HkSD5gai5YCB1u1CWwoC+JwnPSpuKAh01HUGt9g==","shasum":"635ec08031c9ad5f9140ce1f265660a4e71eb9cb","tarball":"https://registry.npmjs.org/@a-n-u-b-i-s/pdf-parse/-/pdf-parse-0.0.3.tgz","fileCount":51,"unpackedSize":29160372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAVmdCRA9TVsSAnZWagAALzkP/RHtAlJGrK7J71R6Oqld\nUqDlOiYErUEe+1fValRXap78hijmgIEZ6Ux5HRWcFPnR7sIg+pcVIHCGUUvl\n/HgBspSbELZ0RS+FlzbX1PK8VSFnNcJtvMUofmTunMDbH5DDGwq0z6MB0MrV\nfehSzRPAhfTe6Hw1ELsHEEfFLszMBNJNNpl3d5Rw8Xn/Rvd5koF085xpA76K\nblZYRy/CI1S64YsfSoHrD/V1f2tfsxFZcYVfOaT3aVIl8WtlAnBLdeoOWhw9\n+5EvrDEruf7nefskQ9QtXWhSGtMAT4lEELJ806MAnnERT5tbn5Nic95QKD+Y\nuTXZptxh/9VD2vIKNd/KzKE3r0b426TI718aeR3XyWX1YHTrODMnF83LRhvI\npaPDkcxObHiTJ84pPy5UB57AEcJuJbocirlKeZoWLmC98oov1oJeE0Zn/kkR\nKbs3b5S6qEQo6MiEiEIQFHhoS/ldPKn9gQw8iKq7GCu4lQdJUZOFnbZ3Y2bN\nemBS/2Ob8iLrUX6XWzt7tkoNtZabo9giGL9I833bf/JSpTuTun4eIi94vo3l\n/fZ+8shvrJ9JmxUkXc/vD/VEMiuhXwlZqG+GXdTsGqR1U0Unmm3Ij04kXh2Y\nMO80uuPGU+4aP/i81CSbD8ovkOjt3GjlHg18M7t4qAZFgykXnCNg3f1eKhg3\nguiK\r\n=Afn0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCio+rZZ75g+v5rX/ALEx1mEWGJv9wYStmyDenp9czrLwIhAIcmwYRrFlM5ynkrIABqPqqJN3zgPvewY7IzJXwAXIi5"}]},"_npmUser":{"name":"a-n-u-b-i-s","email":"watalanubhava@gmail.com"},"directories":{},"maintainers":[{"name":"a-n-u-b-i-s","email":"watalanubhava@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pdf-parse_0.0.3_1644255644995_0.3065086374826642"},"_hasShrinkwrap":false}},"time":{"created":"2022-02-06T06:30:54.846Z","0.0.1":"2022-02-06T06:30:55.257Z","modified":"2022-04-04T10:52:24.783Z","0.0.2":"2022-02-06T06:44:18.974Z","0.0.3":"2022-02-07T17:40:45.404Z"},"maintainers":[{"name":"a-n-u-b-i-s","email":"watalanubhava@gmail.com"}],"description":"Pure javascript cross-platform module to extract text from PDFs.","homepage":"https://gitlab.com/autokent/pdf-parse","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"],"repository":{"type":"git","url":"git+https://gitlab.com/autokent/pdf-parse.git"},"author":{"name":"Mehmet Kozan","email":"mehmet.kozan@live.com"},"bugs":{"url":"https://gitlab.com/autokent/pdf-parse/issues","email":"mehmet.kozan@live.com"},"license":"MIT","readme":"# pdf-parse\n\n**Pure javascript cross-platform module to extract texts from PDFs.**\n\n[![version](https://img.shields.io/npm/v/pdf-parse.svg)](https://www.npmjs.org/package/pdf-parse)\n[![downloads](https://img.shields.io/npm/dt/pdf-parse.svg)](https://www.npmjs.org/package/pdf-parse)\n[![node](https://img.shields.io/node/v/pdf-parse.svg)](https://nodejs.org/)\n[![status](https://gitlab.com/autokent/pdf-parse/badges/master/pipeline.svg)](https://gitlab.com/autokent/pdf-parse/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-parser](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`npm install pdf-parse`\n \n## Basic Usage - Local Files\n\n```js\nconst fs = require('fs');\nconst pdf = require('pdf-parse');\n\nlet dataBuffer = fs.readFileSync('path to PDF file...');\n\npdf(dataBuffer).then(function(data) {\n\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\n## Basic Usage - HTTP\nYou can use [crawler-request](https://www.npmjs.com/package/crawler-request) which uses the `pdf-parse`\n\n## Exception Handling\n\n```js\nconst fs = require('fs');\nconst pdf = require('pdf-parse');\n\nlet dataBuffer = fs.readFileSync('path to PDF file...');\n\npdf(dataBuffer).then(function(data) {\n\t// use data\n})\n.catch(function(error){\n\t// handle exceptions\n})\n```\n\n## Extend\n* v1.0.9 and above break pagerender callback [changelog](https://gitlab.com/autokent/pdf-parse/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    //check documents https://mozilla.github.io/pdf.js/\n    let render_options = {\n        //replaces all occurrences of whitespace with standard spaces (0x20). The default value is `false`.\n        normalizeWhitespace: false,\n        //do not attempt to combine same line TextItem's. The default value is `false`.\n        disableCombineTextItems: false\n    }\n\n    return pageData.getTextContent(render_options)\n\t.then(function(textContent) {\n\t\tlet lastY, text = '';\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}  \n\t\t\telse{\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    pagerender: 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\n\t// max page number to parse\n\tmax: 0,\n\t\n\t//check https://mozilla.github.io/pdf.js/getting_started/\n\tversion: 'v1.10.100'\n}\n```\n### *pagerender* (callback)\nIf you need another format except raw text.  \n\n### *max* (number)\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)\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* version is *v1.10.100*   \n>[mozilla.github.io/pdf.js](https://mozilla.github.io/pdf.js/getting_started/#download)\n\n## Test\n* `mocha` or `npm test`\n* Check [test folder](https://gitlab.com/autokent/pdf-parse/tree/master/test) and [quickstart.js](https://gitlab.com/autokent/pdf-parse/blob/master/quickstart.js) for extra usages.\n\n## Support\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-parse)\n\n### Submitting an Issue\nIf you find a bug or a mistake, you can help by submitting an issue to [GitLab Repository](https://gitlab.com/autokent/pdf-parse/issues)\n\n### Creating a Merge Request\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/autokent/pdf-parse/blob/master/CONTRIBUTING.md) \n\n## License\n[MIT licensed](https://gitlab.com/autokent/pdf-parse/blob/master/LICENSE) and all it's dependencies are MIT or BSD licensed.\n","readmeFilename":"README.md"}