サーバーサイドはコマンド実行できれば何の言語でも問題ないです。
たとえばPHPで
php
<?php $imageName = exec("/usr/local/bin/phantomjs ./js/capture.js $target $filename $browser_width $browser_height $offset_x $offset_y $rectangle_x $rectangle_y $zoom $is_all"); echo "<img src='{$imageName}' />"; |
capture.js
var system = require('system');
var page = require('webpage').create();
var filename = 'output/' + system.args[2];
page.viewportSize = { width: system.args[3], height: system.args[4] };
if (system.args[10] != 'true') {
// setting : capture offset, rectangle size
page.clipRect = { top: system.args[6], left: system.args[5], width: system.args[7], height: system.args[8] };
}
// setting zoom
page.zoomFactor = (system.args[9] / 100);
page.open(system.args[1], function() {
page.render(filename);
console.log(filename);
phantom.exit();
}); |
パラメーターは想像してください。