HTML+CSS to PDF in Node.JS


Create PDFs using plain old HTML+CSS. Uses wkhtmltopdf on the back-end which renders HTML using Webkit.

Hightly inspired by PDFKit written in Ruby

npm install pdfkit


// PDFKit support multiples types (url, file, html) and any options for wkhtmltopdf 
// run `wkhtmltopdf --extended-help` for a full list of options 
var PDFKit = require('pdfkitjs');
pdf = new PDFKit('url', 'http://google.com');
pdf.toFile('google.pdf', function (errfile) {
  console.log('File ' + file + ' written');

options : Object corresponding on wkhtmltopdf arguments. run wkhtmltopdf --extended-help for a full list of options

spawnOptions : Options passed to child_process.spawn except exec who is the path to the wkhtmltopdf binary. (Default: wkhtmltopdf)

  • url
new PDFKit('url', 'http://google.com')
  • file
new PDFKit('file', 'path/to/some.html')
  • html
new PDFKit('html', '<h1>Hello</h1>')

You can pass a logger object that implemnts log, warn, debug methods. Default logger:

var baseLogger = {
  log: console.log,
  warn: console.warn,
  debug: console.log

To silent all logs, you can pass false.


Copyright (c) 2010 Loïc Mahieu.