wkhtmltox
TypeScript icon, indicating that this package has built-in type declarations

1.1.6 • Public • Published

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.

Requirements

Install

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

npm install wkhtmltox

Examples

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" })
    .pipe(fs.createWriteStream("foo.pdf"))
    .on("finish", done);

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

converter.image(fs.createReadStream('foo.html'), { format: "png" })
    .pipe(fs.createWriteStream("foo.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, '127.0.0.1');

console.log('Server running at http://127.0.0.1:1337/');

Access it with curl

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

Package Sidebar

Install

npm i wkhtmltox

Weekly Downloads

1,337

Version

1.1.6

License

MIT

Unpacked Size

17.5 kB

Total Files

8

Last publish

Collaborators

  • tcort