phantomjs-render-worker

0.1.16 • Public • Published

phantomjs-render-worker Build Status

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

import Worker from 'phantomjs-render-worker';
 
const targets = ['http://google.com', 'http://facebook.com'];
const worker = new Worker('pdf');
const {init, rendered, rendering, error } = Worker.event;
const success = file => {
    const nextWork = targets.shift();
    nextWork && worker.render(nextWork, '/dev/null', (() => true));
};
 
worker.on(init, success);
worker.on(rendered, success);

promise driven

const targets = ['http://google.com', 'http://facebook.com'];
const worker = new Worker('pdf');
const {init, rendered, rendering, error } = Worker.event;
 
worker.on(init, () => {
    (function loopback() {
        const nextWork = targets.shift();
        if (nextWork) {
            worker.render(nextWork, '/dev/null', (() => true)).then(loopback);
        }
    })();
});
worker.on(rendered, (filename) => console.log(`${filename} generated`);

todo

  • render via stream
  • kill worker

license

MIT

Readme

Keywords

Package Sidebar

Install

npm i phantomjs-render-worker

Weekly Downloads

0

Version

0.1.16

License

MIT

Last publish

Collaborators

  • deptno