pdftohtmljs_uwazi

PDF to HTML (pdf2htmlex) shell wrapper


Keywords
pdf2htmlex, shelljs, pdf, html5, converter
License
MIT
Install
npm install pdftohtmljs_uwazi@0.3.7

Documentation

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+