{"_id":"pdf-parse-tt-message-gone","name":"pdf-parse-tt-message-gone","dist-tags":{"latest":"1.1.2"},"versions":{"1.1.2":{"name":"pdf-parse-tt-message-gone","version":"1.1.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":{"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"},"directories":{"lib":"lib","test":"test"},"_id":"pdf-parse-tt-message-gone@1.1.2","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-RUD1/trR3/FnxaLhjPuDiF7goFGP1tlw8SEeR7In8aQUoY9kGp1isfCA3oXyMLu3dbgKgshMWNGb1Sx50a5HIg==","shasum":"69f7a97d71f2884ba9790ce6d8b67dda3653a9e9","tarball":"https://registry.npmjs.org/pdf-parse-tt-message-gone/-/pdf-parse-tt-message-gone-1.1.2.tgz","fileCount":50,"unpackedSize":29409110,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDc+cAOmmO6cYraX+HEq74Vs8tjml/o8BKLq/iHD2f7pAiA1LHYO66ySdYRk0E8RP4J5X1zosI9uYyJqDn6Rbpy/ug=="}]},"_npmUser":{"name":"mo375","email":"cwt.servicedesk@gmail.com"},"maintainers":[{"name":"mo375","email":"cwt.servicedesk@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pdf-parse-tt-message-gone_1.1.2_1685950318201_0.6207275724070556"},"_hasShrinkwrap":false}},"time":{"created":"2023-06-05T07:31:58.200Z","1.1.2":"2023-06-05T07:31:58.558Z","modified":"2023-06-05T07:31:58.843Z"},"maintainers":[{"name":"mo375","email":"cwt.servicedesk@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\r\n\r\n**Pure javascript cross-platform module to extract texts from PDFs.**\r\n\r\n[![version](https://img.shields.io/npm/v/pdf-parse.svg)](https://www.npmjs.org/package/pdf-parse)\r\n[![downloads](https://img.shields.io/npm/dt/pdf-parse.svg)](https://www.npmjs.org/package/pdf-parse)\r\n[![node](https://img.shields.io/node/v/pdf-parse.svg)](https://nodejs.org/)\r\n[![status](https://gitlab.com/autokent/pdf-parse/badges/master/pipeline.svg)](https://gitlab.com/autokent/pdf-parse/pipelines)\r\n\r\n## Similar Packages\r\n* [pdf2json](https://www.npmjs.com/package/pdf2json) buggy, no support anymore, memory leak, throws non-catchable fatal errors\r\n* [j-pdfjson](https://www.npmjs.com/package/j-pdfjson) fork of pdf2json\r\n* [pdf-parser](https://github.com/dunso/pdf-parse) buggy, no tests\r\n* [pdfreader](https://www.npmjs.com/package/pdfreader) using pdf2json\r\n* [pdf-extract](https://www.npmjs.com/package/pdf-extract) not cross-platform using xpdf\r\n\r\n## Installation\r\n`npm install pdf-parse`\r\n \r\n## Basic Usage - Local Files\r\n\r\n```js\r\nconst fs = require('fs');\r\nconst pdf = require('pdf-parse');\r\n\r\nlet dataBuffer = fs.readFileSync('path to PDF file...');\r\n\r\npdf(dataBuffer).then(function(data) {\r\n\r\n\t// number of pages\r\n\tconsole.log(data.numpages);\r\n\t// number of rendered pages\r\n\tconsole.log(data.numrender);\r\n\t// PDF info\r\n\tconsole.log(data.info);\r\n\t// PDF metadata\r\n\tconsole.log(data.metadata); \r\n\t// PDF.js version\r\n\t// check https://mozilla.github.io/pdf.js/getting_started/\r\n\tconsole.log(data.version);\r\n\t// PDF text\r\n\tconsole.log(data.text); \r\n        \r\n});\r\n```\r\n\r\n## Basic Usage - HTTP\r\nYou can use [crawler-request](https://www.npmjs.com/package/crawler-request) which uses the `pdf-parse`\r\n\r\n## Exception Handling\r\n\r\n```js\r\nconst fs = require('fs');\r\nconst pdf = require('pdf-parse');\r\n\r\nlet dataBuffer = fs.readFileSync('path to PDF file...');\r\n\r\npdf(dataBuffer).then(function(data) {\r\n\t// use data\r\n})\r\n.catch(function(error){\r\n\t// handle exceptions\r\n})\r\n```\r\n\r\n## Extend\r\n* v1.0.9 and above break pagerender callback [changelog](https://gitlab.com/autokent/pdf-parse/blob/master/CHANGELOG)\r\n* If you need another format like json, you can change page render behaviour with a callback\r\n* Check out https://mozilla.github.io/pdf.js/\r\n\r\n```js\r\n// default render callback\r\nfunction render_page(pageData) {\r\n    //check documents https://mozilla.github.io/pdf.js/\r\n    let render_options = {\r\n        //replaces all occurrences of whitespace with standard spaces (0x20). The default value is `false`.\r\n        normalizeWhitespace: false,\r\n        //do not attempt to combine same line TextItem's. The default value is `false`.\r\n        disableCombineTextItems: false\r\n    }\r\n\r\n    return pageData.getTextContent(render_options)\r\n\t.then(function(textContent) {\r\n\t\tlet lastY, text = '';\r\n\t\tfor (let item of textContent.items) {\r\n\t\t\tif (lastY == item.transform[5] || !lastY){\r\n\t\t\t\ttext += item.str;\r\n\t\t\t}  \r\n\t\t\telse{\r\n\t\t\t\ttext += '\\n' + item.str;\r\n\t\t\t}    \r\n\t\t\tlastY = item.transform[5];\r\n\t\t}\r\n\t\treturn text;\r\n\t});\r\n}\r\n\r\nlet options = {\r\n    pagerender: render_page\r\n}\r\n\r\nlet dataBuffer = fs.readFileSync('path to PDF file...');\r\n\r\npdf(dataBuffer,options).then(function(data) {\r\n\t//use new format\r\n});\r\n```\r\n\r\n## Options\r\n\r\n```js\r\nconst DEFAULT_OPTIONS = {\r\n\t// internal page parser callback\r\n\t// you can set this option, if you need another format except raw text\r\n\tpagerender: render_page,\r\n\t\r\n\t// max page number to parse\r\n\tmax: 0,\r\n\t\r\n\t//check https://mozilla.github.io/pdf.js/getting_started/\r\n\tversion: 'v1.10.100'\r\n}\r\n```\r\n### *pagerender* (callback)\r\nIf you need another format except raw text.  \r\n\r\n### *max* (number)\r\nMax number of page to parse. If the value is less than or equal to 0, parser renders all pages.  \r\n\r\n### *version* (string, pdf.js version)\r\ncheck [pdf.js](https://mozilla.github.io/pdf.js/getting_started/)\r\n\r\n* `'default'`\r\n* `'v1.9.426'`\r\n* `'v1.10.100'`\r\n* `'v1.10.88'`\r\n* `'v2.0.550'`\r\n\r\n>*default* version is *v1.10.100*   \r\n>[mozilla.github.io/pdf.js](https://mozilla.github.io/pdf.js/getting_started/#download)\r\n\r\n## Test\r\n* `mocha` or `npm test`\r\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.\r\n\r\n## Support\r\nI use this package actively myself, so it has my top priority. You can chat on WhatsApp about any infos, ideas and suggestions.\r\n\r\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)\r\n\r\n### Submitting an Issue\r\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)\r\n\r\n### Creating a Merge Request\r\nGitLab calls it merge request instead of pull request.  \r\n\r\n* [A Guide for First-Timers](https://about.gitlab.com/2016/06/16/fearless-contribution-a-guide-for-first-timers/)\r\n* [How to create a merge request](https://docs.gitlab.com/ee/gitlab-basics/add-merge-request.html)\r\n* Check [Contributing Guide](https://gitlab.com/autokent/pdf-parse/blob/master/CONTRIBUTING.md) \r\n\r\n## License\r\n[MIT licensed](https://gitlab.com/autokent/pdf-parse/blob/master/LICENSE) and all it's dependencies are MIT or BSD licensed.\r\n","readmeFilename":"README.md"}