読者です 読者をやめる 読者になる 読者になる

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

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 240x360 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>