mirror of
https://github.com/encounter/phantomjs.git
synced 2026-03-30 11:35:11 -07:00
fbb524e629
http://code.google.com/p/phantomjs/issues/detail?id=17 Adding a new phantom property called "paperSize". It takes one of the two possible dictionary variants: { width: '200px', height: '300px', border: '0px' } { format: 'A4', orientation: 'portrait', border: '1cm' } - If no paperSize is defined, the size is defined by the web page - supported dimension units are: mm, cm, in, px. No unit means px. - border is optional and defaults to 0. - supported formats are: A3, A4, A5, Legal, Letter, Tabloid - orientation (portrait|landscape) is optional and defaults to portrait I'm considering implementing a short form like: phantom.paperSize = 'A4'; ...needs further investigation.
23 lines
980 B
JavaScript
23 lines
980 B
JavaScript
if (phantom.state.length === 0) {
|
|
if (phantom.args.length < 2 || phantom.args.length > 3) {
|
|
console.log('Usage: rasterize.js URL filename [paperwidth*paperheight|paperformat]');
|
|
console.log(' paper (pdf output) examples: "5in*7.5in", "10cm*20cm", "A4", "Letter"');
|
|
phantom.exit();
|
|
} else {
|
|
var address = phantom.args[0];
|
|
phantom.state = 'rasterize';
|
|
phantom.viewportSize = { width: 600, height: 600 };
|
|
if (phantom.args.length === 3 && phantom.args[1].substr(-4) === ".pdf") {
|
|
var size = phantom.args[2].split('*');
|
|
phantom.paperSize = size.length === 2 ? { width: size[0], height: size[1], border: '0px' }
|
|
: { format: phantom.args[2], orientation: 'portrait', border: '1cm' };
|
|
}
|
|
phantom.open(address);
|
|
}
|
|
} else {
|
|
var output = phantom.args[1];
|
|
phantom.sleep(200);
|
|
phantom.render(output);
|
|
phantom.exit();
|
|
}
|