DockerのPhantomJSでスクリーンショットを撮る


PhantomJSとかインストールするの面倒ですよね。

そういうのにはDockerがいいんじゃないかと思って、探したら作ってくれてる人がいたんですが、案の定日本語フォントは入っていないので、日本語フォントも入れたバージョンを作りました。

使い方

docker run -v `pwd`:/data edvakf/phantomjs-japanese /srv/var/phantomjs/examples/rasterize.js http://ja.wikipedia.org/wiki/Docker /data/wikipedia.png

これでdockerコンテナ内の/data/ディレクトリに出力されますが、/data/はホストのカレントディレクトリをマウントしているので、カレントディレクトリにファイルが保存されます。

幅指定できるようにする

幅を指定したい場合はこちらの記事にあるスクリプトをmyRasterize.jsという名前で置いて、

docker run -v `pwd`:/data edvakf/phantomjs-japanese /data/myRasterize.js http://ja.wikipedia.org/wiki/Docker /data/wikipedia2.png 1200 600

とやれば良いです。

スクショ

PhantomJS付属のrasterize.js

myRasterize.js