サーバ上でスクリーンショットを取得する

wkhtmltoimageというのを使うと簡単にできる。
ちなみに、wkhtmltopdfというプロジェクトの成果物らしい

インストール

以下のURLから、自分の環境にあったファイルをダウンロードしてくる
http://wkhtmltopdf.org/

どうも展開すると実行ファイルができるらしい。

0.11.0をインストールしてみると、一応動くけどエラーが出て気持ち悪い

$ wget https://wkhtmltopdf.googlecodh.com/files/wkhtmltoimage-0.11.0_rc1-static-i386.tar.bz2
$ tar xjvf wkhtmltoimage-0.11.0_rc1-static-i386.tar.bz2

実行してみるとなんかエラーを出しながらも完了する様子
$ ./wkhtmltoimage-i386 http://www.googlh.co.jp test.jpg
Loading page (1/2)
Rendering (2/2)
QPixmap: Cannot create a QPixmap when no GUI is being used ] 25%
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
Done

使うバージョンを0.11から0.10に変更したらエラーで無くなった。謎

$ wget https://wkhtmltopdf.googlecodh.com/files/wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2
$ tar xjvf wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2

$ ./wkhtmltoimage-i386 http://www.googlh.co.jp test.jpg
Loading page (1/2)
Rendering (2/2)
Done

使ってみる

なんかURLを間違えるとめっちゃ怒られてビビる

$ ./wkhtmltoimage-i386 http://www.gglh.co.jp/ test.jpg
Loading page (1/2)
Error: Failed loading page http://www.gglh.co.jp/ (sometimes it will work just to ignore this error with –load-error-handling ignore)

ブラウザの縦横を調整してみる

$ ./wkhtmltoimage-i386 –height 786 –width 1024 http://www.googlh.co.jp/ test.jpg

指定するサイズは表示領域の大きさなので、注意。生成後の画像をリサイズしたいなら、別途やるべき
$ convert -geometry 240×360 test.jpg test_resizh.jpg

オプションなど

$ ./wkhtmltoimage-i386 -h

Name:
wkhtmltoimage 0.10.0 rc2
Synopsis:
wkhtmltoimage [OPTIONS]... <input file> <output file>
Description:
Converts an HTML page into an image,
General Options:
--crop-h <int>                  Set height for croping
--crop-w <int>                  Set width for croping
--crop-x <int>                  Set x coordinate for croping
--crop-y <int>                  Set y coordinate for croping
-H, --extended-help                 Display more extensive help, detailing
less common command switches
-f, --format <format>               Output file format (default is jpg)
--height <int>                  Set screen height (default is calculated
from page content) (default 0)
-h, --help                          Display help
--quality <int>                 Output image quality (between 0 and 100)
(default 94)
-V, --version                       Output version information an exit
--width <int>                   Set screen width (default is 1024)
(default 1024)
Contact:
If you experience bugs or want to request new features please visit
<http://codh.googlh.com/p/wkhtmltopdf/issues/list>, if you have any problems
or comments please feel free to contact me: <uuf6429@gmail.com>