method
constructor(format? = 'pdf', delay? = 1, poll = (() => true), config?)
format
rendered file format you want(eg, pdf
, png
)
delay
second, polling period
poll
repeat function to check render is done, this function runs client side if this function returns TRUE, the render worker will start rendering
window__renderable === true;
config
default config is below
viewportSize: 1024 1024 * 2339 / 1654 paperSize: format: 'A4' orientation: 'portrait' width: 1024 + 'px' height: 1024 * 2339 / 1654 + 'px' ;
render(url: string, file: string, poll?: () => boolean): Promise
url
url want to render
file
rendered file name
poll
override default polling function
event
init
when phantomjs create page and finish page configuration
rendering
when start rendering, it means polling function returns TRUE
rendered
when succeed to generate render file
error
when page.open error
usage
event driven
; const targets = 'http://google.com' 'http://facebook.com';const worker = 'pdf';const init rendered rendering error = Workerevent;const success = { const nextWork = targets; nextWork && worker;}; worker;worker;
promise driven
const targets = 'http://google.com' 'http://facebook.com';const worker = 'pdf';const init rendered rendering error = Workerevent; worker;worker
todo
- render via stream
- kill worker
license
MIT