npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

node-red-contrib-pdf-reader

v1.0.3

Published

Node-RED node to read pdf data using pdfjs

Downloads

60

Readme

node-red-contrib-pdf-reader

NPM Version Node Current

A Node-RED node to extract PDF text content. Heavily inspired by https://github.com/RedBackSpider/node-red-contrib-pdfjs

Differences from the original repository

  • Support for read files using file name is remove. Use a node to read a file and pass the contents to this node.
  • Password support and Selecting specific page has been included
  • Includes the latest (as of writing) version of https://github.com/mozilla/pdfjs-dist
  • Only supports Node 18 and up (due to pdfjs-dist not supporting lower Node versions)
  • Partial rewrite and JSDoc-annotated code

Inputs

| Key | Description | | -------------------- | -------------------------------------------------------------------------------------------------------------------------- | | msg.payload.data | (object | string) Either a buffer object that corresponds to a pdf file or a filepath leading to a pdf file to be decoded | | msg.payload.password | (string, optional) Password of the PDF file |

Config

| Key | Description | | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | pages | (string, optional) List of pages and/or page ranges. If pages is not provided, includes all the pages of the PDF (e.g. 1, 2, 3-5) | | password | (string, optional) Password of the PDF file | | Order text | (boolean, optional) Check this option to force the text to be ordered top down using the y value if 'from top to bottom' is selected, or ordered left to right by it's x value if 'from left to right' is selected. If both options are selected, it will order from top to bottom, then left to right. | | Merge text with next text | (boolean, optional) CWhen inserting text into output payload array, if the previous text inserted has the same x value (are in the same column), or same y value (are in the same row), concatenate the string to be inserted with the previous string with a space instead. |

Outputs

payload

Results of the parsing will be returned as an array with each element in the array corresponding to a page in the pdf. Each page in the array is stored as an array of objects which can be seen below. p is the order in the pdf document

[
  {
    "p": 1,
    "x": 328.78, // distance away from the right edge
    "y": 1175.676, // distance away from the bottom of the page
    "t": "Survey Responses 1/02/19 - 31/04/19" // text content
  },
  {
    "p": 2,
    "x": 428.78,
    "y": 1175.676,
    "t": "Survey Responses 1/05/19 - 31/07/19"
  }
]