Package Exports
- slimer-html-pdf
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (slimer-html-pdf) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
slimer-html-pdf - convert any HTML document to PDF format using slimerjs (Gecko)
Full support for HTML5 (including FLEX), more info: https://slimerjs.org/
Dependencies:
Firefox - free and open-source web browser
Xvfb - X virtual framebuffer$ sudo apt-get install -y firefox xvfbUsage:
$ npm i slimer-html-pdf --savevar slimerHtmlPdf = require('slimer-html-pdf')
//max parallel instances
process.env.XVFB_DISPLAY_LIMIT = 10
const options = {
paperSize: {
format: 'A4',
orientation: 'portrait',
margin: '1cm'
},
debug: true
}
slimerHtmlPdf.convert('http://github.com', './github.pdf', options)
.then( msg => {
console.log('Successful', msg)
})
.catch( err => {
//(err == 2) No set XVFB_DISPLAY_LIMIT variable
//(err == 3) Busy (XVFB_DISPLAY_LIMIT limit reached)
console.log('Error!', err)
})slimerHtmlPdf.convert(source, output, options)
source - HTML source
output - save path
options - options (see more: http://docs.slimerjs.org/current/api/webpage.html)Tip:
How to break a page?
use styles!
page-break-after: auto|always|avoid|left|right|initial|inherit;
auto Default. Automatic page breaks
always Always insert a page break after the element
avoid Avoid page break after the element (if possible)
left Insert page breaks after the element so that the next page is formatted as a left page
right Insert page breaks after the element so that the next page is formatted as a right page
initial Sets this property to its default value. Read about initial
inherit Inherits this property from its parent element. Read about inherite.g.
@media print {
footer {page-break-after: always;}
}or
<p style="page-break-after: always "> </p>