2011-09-13 00:17:54 +04:00
|
|
|
page = require('webpage').create()
|
2012-01-14 19:13:26 +04:00
|
|
|
system = require 'system'
|
2011-05-27 14:09:15 +04:00
|
|
|
|
2012-01-14 19:13:26 +04:00
|
|
|
if system.args.length < 3 or system.args.length > 4
|
|
|
|
console.log 'Usage: rasterize.coffee URL filename [paperwidth*paperheight|paperformat]'
|
2011-05-27 14:09:15 +04:00
|
|
|
console.log ' paper (pdf output) examples: "5in*7.5in", "10cm*20cm", "A4", "Letter"'
|
|
|
|
phantom.exit()
|
2011-04-22 19:39:51 +04:00
|
|
|
else
|
2012-01-14 19:13:26 +04:00
|
|
|
address = system.args[1]
|
|
|
|
output = system.args[2]
|
2011-05-27 14:09:15 +04:00
|
|
|
page.viewportSize = { width: 600, height: 600 }
|
2012-01-14 19:13:26 +04:00
|
|
|
if system.args.length is 4 and system.args[2].substr(-4) is ".pdf"
|
|
|
|
size = system.args[3].split '*'
|
2011-05-27 14:09:15 +04:00
|
|
|
if size.length is 2
|
|
|
|
page.paperSize = { width: size[0], height: size[1], border: '0px' }
|
|
|
|
else
|
2012-01-14 19:13:26 +04:00
|
|
|
page.paperSize = { format: system.args[3], orientation: 'portrait', border: '1cm' }
|
2011-05-27 14:09:15 +04:00
|
|
|
page.open address, (status) ->
|
|
|
|
if status isnt 'success'
|
|
|
|
console.log 'Unable to load the address!'
|
|
|
|
phantom.exit()
|
|
|
|
else
|
|
|
|
window.setTimeout (-> page.render output; phantom.exit()), 200
|