high performance access to `wkhtmltopdf` and `wkhtmltoimage` from node.js.

Usage no npm install needed!

<script type="module">
  import wkhtmltox from 'https://cdn.skypack.dev/wkhtmltox';



The goal of this module is to provide high performance access to wkhtmltopdf and wkhtmltoimage from node.js. Those two tools are from wkhtmltopdf, a software package that provides utilities for rendering HTML into various formats using the QT Webkit rendering engine.

This module is based on an MIT licensed module named node-wkhtmltopdf.



The latest and greatest version of this software is available through npm.

npm install wkhtmltox


HTML to PDF, JPG, PNG with custom path

// include the node module
var wkhtmltox = require("wkhtmltox");

// instantiate a new converter.
var converter = new wkhtmltox();

// Locations of the binaries can be specified, but this is
// only needed if the programs are located outside your PATH
converter.wkhtmltopdf   = '/opt/local/bin/wkhtmltopdf';
converter.wkhtmltoimage = '/opt/local/bin/wkhtmltoimage';

// Convert to pdf.
// Function takes (inputStream, optionsObject), returns outputStream.
converter.pdf(fs.createReadStream('foo.html'), { pageSize: "letter" })
    .on("finish", done);

// Convert to image.
// Function takes (inputStream, optionsObject), returns outputStream.
converter.image(fs.createReadStream('foo.html'), { format: "jpg" })
    .on("finish", done);

converter.image(fs.createReadStream('foo.html'), { format: "png" })
    .on("finish", done);

Simple HTML to PDF web service

Here's a simple web server that converts HTML to PDF. Options can be supplied as query parameters:

var url = require('url');
var http = require('http');
var wkhtmltox = require('wkhtmltox');
var converter = new wkhtmltox();

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'application/pdf'});
    converter.pdf(req, url.parse(req.url, true).query).pipe(res);
}).listen(1337, '');

console.log('Server running at');

Access it with curl

curl -d @test.html -s "http://localhost:1337/?copies=2" -o test.pdf