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>