Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dharfr/grunt-wkhtmltopdf
Grunt Task that uses wkhtmltopdf to convert HTML files to PDF
https://github.com/dharfr/grunt-wkhtmltopdf
Last synced: about 2 months ago
JSON representation
Grunt Task that uses wkhtmltopdf to convert HTML files to PDF
- Host: GitHub
- URL: https://github.com/dharfr/grunt-wkhtmltopdf
- Owner: dharFr
- License: mit
- Created: 2012-08-26T01:48:04.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2015-02-22T10:44:31.000Z (almost 10 years ago)
- Last Synced: 2024-10-28T14:40:54.244Z (2 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/grunt-wkhtmltopdf
- Size: 221 KB
- Stars: 8
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
# grunt-wkhtmltopdf
A simple [Grunt][grunt] multitask that uses [wkhtmltopdf][wkhtmltopdf] to convert HTML files to PDF.
Convertion to PDF takes care of `@media print` CSS rules and preserves links to remote web pages.## Getting Started
### Setting up wkhtmltopdf
Download and install wkhtmltopdf from the [project page][wkhtmltopdf_dl].
Make sure `wkhtmltopdf` is accessible from your `PATH` (Try `wkhtmltopdf -V` in your Terminal).
I'm on Mac 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
```You can also install it via homebrew: `$ brew install wkhtmltopdf`.
### Use it with grunt
Install this grunt plugin next to your project's [grunt.js gruntfile][getting_started] with: `npm install grunt-wkhtmltopdf`
Then add this line to your project's `grunt.js` gruntfile:
```javascript
grunt.loadNpmTasks('grunt-wkhtmltopdf');
```## Documentation
Simply add task definition in your gruntfile. See the folllowing example:```javascript
//...
wkhtmltopdf: {
dev: {
src: 'path/to/some/html/file/*.html',
dest: 'pdf/output/'
},
prod: {
src: 'path/to/some/html/file/*.html',
dest: 'pdf/output/'
}
},
//...
```Run `grunt wkhtmltopdf` to execute all the targets or `grunt wkhtmltopdf:targetname` to execute a specific target. Every `html` file defined by the `src` parameter will be turned into a PDF and saved to `dest` folder.
### Sending arguments to `wkhtml2pdf`
Arguments sent via the `args` key in the task definition will be forwarded to `wkhtml2pdf` as follow :
```javascript
//...
wkhtmltopdf: {
prod: {
src: 'path/to/some/html/file/*.html',
dest: 'pdf/output/',
args: [
'--dpi', '96',
'--print-media-type',
'--grayscale'
]
}
},
//...
```Defining custom arguments will override default ones:
```javascript
// grunt-wkhtml2pdf default arguments
var args = [
'--dpi', '96',
'--print-media-type'
]
```See [wkhtml2pdf documentation][wkhtmltopdf_doc] for available options
## Contributing
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][grunt].## Release History
- *v0.5.0*:
- Merged [#12](https://github.com/dharFr/grunt-wkhtmltopdf/pull/12) (Fix [#11](https://github.com/dharFr/grunt-wkhtmltopdf/issues/11)) : Added async support
- Merged [#9](https://github.com/dharFr/grunt-wkhtmltopdf/pull/9) : Added ability to override the arguments
- *v0.4.0*:
- Update project config files to work with Grunt 0.4
- Update wkthmltopdf task to use Grunt 0.4 multi-task API
- Improve predictability of the destination for created PDFs
- *v0.3.0*: grunt-wkhtmltopdf is now a multi-task
- *v0.2.0*: Fixed compatibility with grunt 0.4
- *v0.1.0*: First Release## License
Copyright (c) 2012 Olivier Audard
Licensed under the MIT license.[wkhtmltopdf]: http://wkhtmltopdf.org/
[wkhtmltopdf_dl]: http://wkhtmltopdf.org/downloads.html
[wkhtmltopdf_doc]: http://wkhtmltopdf.org/docs.html
[grunt]: https://github.com/gruntjs/grunt
[getting_started]: https://github.com/cowboy/grunt/blob/master/docs/getting_started.md