• Stars
    star
    143
  • Rank 257,007 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 12 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PDF to HTML (pdf2htmlEX) shell wrapper pdftohtmljs

pdftohtmljs - pdf2htmlEx shell wrapper for Node.js

view on npm npm module downloads Dependency Status Build Status Known Vulnerabilities view on npm

pdftohtmljs provides access to pdf2htmlEX via shell in node.js programs.

Requirements

If you've docker env setup, just install it via docker

alias pdf2htmlEX="docker run -ti --rm -v ~/pdf:/pdf iapain/pdf2htmlex pdf2htmlEX"

~/pdf on host computer will be used as volume

PDF2HTMLEX path is resolved usiing following:

  • first it looks into env variable PDF2HTMLEX_BIN.
  • then it fallbacks to bin option.
  • then it fallbacks to system path.

Installation

via npm:

npm install pdftohtmljs

Usage

const pdftohtml = require('pdftohtmljs')

// See presets (ipad, default)
// Feel free to create custom presets
// see https://github.com/fagbokforlaget/pdftohtmljs/blob/master/lib/presets/ipad.js
const convert = async (file, output, preset) => {
  const converter = new pdftohtml(file, output)

  // If you would like to tap into progress then create
  // progress handler
  converter.progress((ret) => {
    const progress = (ret.current * 100.0) / ret.total

    console.log(`${progress} %`)
  })

  try {
    // convert() returns promise
    await converter.convert(preset || 'ipad')
  } catch (err) {
    console.error(`Psst! something went wrong: ${err.msg}`)
  }

}

// call method
convert('test/pdfs/sample.pdf', 'sample.html')

Command line usage

npm install pdftohtmljs -g
pdftohtmljs sample.pdf

You may optionally provide your own filename and preset

pdftohtmljs sample.pdf sample.html ipad

Tests

$ npm test

NodeJS Support

This library support nodejs v8+