Uses Electron to render any webpage (by URL) to a PDF. Works for websites rendered in the browser with JavaScript.
Get with NPM:
# local for one project
npm install --save-exact epdf
# global for CLI
npm install --global epdf
Epdf can be used as a Node.js library or from the command line.
const {render} = require('epdf')
render({url: 'https://my-awesome-website' /* other settings */})
.then(buffer => {
// buffer contains rendered PDF in binary form
})
.catch(error => {
// ...
})
render
takes the same args as the CLI. To see the available settings, run
$(npm bin)/epdf --help
(for local install) or epdf --help
(for global
install).
The value returned by render
can be used as a promise, but is actually a
Future
from the
Posterus library. You can stop it by
calling .deinit()
, which immediately closes the Electron process.
const {render} = require('epdf')
const future = render(settings)
.mapResult(buffer => {})
.mapError(error => {})
// Stops the whole thing
future.deinit()
# for global install
epdf
# for local install
$(npm bin)/epdf
# get help
epdf --help
# to stdout
epdf --url <some-url>
# to file
epdf --url <some-url> --out <some-file>