Webサイトのスクリーンショットを画像化しておきたいというニーズは強くあります。そんな時に使えるのがwkhtmltopdfやwkhtmltoimageといったコマンドなのですが、これは個人でインストールする必要があります。 社内であれば使ってみたいのがgo-wkhtmltoxです。wkhtmltopdf/wkhtmltoimageをWeb API化したソフトウェアです。

go-wkhtmltoxの使い方

go-wkhtmltoxを立てたら、次のようなコマンドで画像が取得できます。なお、gzipで圧縮されていますので、解凍してから使うと良いでしょう(またはaccept-encodingをなくせば良いのかも)。

curl -X POST \
  http://localhost:8080/v1/convert \
  -H 'accept-encoding: gzip' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{"to" : "image", "converter":{"uri": "https://www.bing.com"}, "template": "binary"}' \
  -o output.gz

画像またはPDFで内容が取得できます。

バイナリの他、Base64エンコードされた文字列として取得もできます。社内に一つ立てておくと便利に使えるでしょう。

go-wkhtmltoxはGo製のオープンソース・ソフトウェア(Apache Licnese 2.0)です。

gogap/go-wkhtmltox: A web service for wkhtmltopdf and wkhtmltoimage