Simple and lightweight HTML to text conversion using Node and PhantomJS.
npm install phantomjs-pdf
- PhantomJS
- Async
- Temp
- Debug
The API exposes a single function 'convert'. Using this function, you can input a multitude of settings, which are further specified below:
var pdf = require('phantomjs-pdf');
pdf.convert(options, function(result) {
/* Using a buffer and callback */
result.toBuffer(function(returnedBuffer) {});
/* Using a readable stream */
var stream = result.toStream();
/* Using the temp file path */
var tmpPath = result.getTmpPath();
/* Using the file writer and callback */
result.toFile("/path/to/file.pdf", function() {});
});
Calling convert() requires an options object, which includes the following definitions:
{
"html" : "Path to HTML file",
"css" : "Path to additional CSS file",
"js" : "Path to additional JavaScript file",
"runnings" : "Path to runnings file. Check further below for explanation.",
"deleteOnAction" : true/false (Deletes the created temp file once you access it via toBuffer() or toFile())
}
Instead of paths, one can also provide properly escaped source code.
https://github.com/ariya/phantomjs/wiki/API-Reference-WebPage#wiki-webpage-paperSize