Grunt Task that uses wkhtmltopdf to convert HTML files to PDF
A simple Grunt task that uses wkhtmltopdf to convert HTML files to PDF.
Convertion to PDF takes care of @media print
CSS rules and preserves links to remote web pages.
Download and install wkhtmltopdf from the project page.
Make sure wkhtmltopdf
is accessible from your PATH
(Try wkhtmltopdf -V
in your Terminal).
I'm on Mas OS X, so I created the following symlink to my /usr/local/bin/
folder:
ln -s /usr/local/bin/wkhtmltopdf.app/Contents/MacOS/wkhtmltopdf /usr/local/bin/wkhtmltopdf
Install this grunt plugin next to your project's grunt.js gruntfile with: npm install grunt-wkhtmltopdf
Then add this line to your project's grunt.js
gruntfile:
grunt.loadNpmTasks('grunt-wkhtmltopdf');
Simply add the following to your gruntfile:
//...
wkhtmltopdf: {
src: 'path/to/some/html/file/*.html',
dest: 'pdf/output/'
},
//...
Then run grunt wkhtmltopdf
or use it as any other grunt task. Every html
file in your path/to/some/html/file/
folder will be turned into a PDF and saved to pdf/output/
folder.
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using grunt.
Copyright (c) 2012 Olivier Audard
Licensed under the MIT license.