PhantomJS で サーバーサイドHTMLキャプチャー(ブラウザサイズ指定、オフセット指定、レクタングルサイズ指定、ズーム指定)

PhantomJS

サーバーサイドはコマンド実行できれば何の言語でも問題ないです。

たとえば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();
});

パラメーターは想像してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください