Herokuでwkhtmltopdfを実行してみた
複数のBuildPackを利用できるようにする
Herokuで利用できる実行環境(コマンド)はBuildPackという単位で指定します。 デフォルトではアプリ作成時に選択した言語のものが利用されますが、カスタムのBuildPackを追加して、独自の実行環境(コマンド)をインストールすることも可能です。
heroku-buildpack-multiを利用する
アプリ作成時に以下のBuildPackを利用すると、複数のBuildPackを利用できるようになります。
heroku create %アプリ名% --buildpack git://github.com/ddollar/heroku-buildpack-multi.git
作成済みの場合は、以下のherokuコマンドで指定します。
heroku buildpacks:set https://github.com/ddollar/heroku-buildpack-multi.git
heroku-buildpack-multiの詳細は、GitHubで公開されています。
https://github.com/ddollar/heroku-buildpack-multi
上記だけだと、日本語が出力できなかったので、IPAフォントをインストールするBuildPackを作りました。 github.com
wkhtmltopdfのBuildPackを指定する
複数のBuildPackが利用できるようになったので、開発言語に加えてwkhtmltopdfのBuildPackを指定します。 指定は、ルートに.buildpacksという隠しファイルを作成して行います。
.buildpacksの指定
デフォルトのjavaに加えて、GitHubで公開されていたheroku-buildpack-wkhtmltopdfを利用します。
https://github.com/heroku/heroku-buildpack-java.git https://github.com/momotaro-lucy/heroku-buildpack-wkhtmltopdf-ja.git
heroku-buildpack-wkhtmltopdfの詳細は、以下のGitHubで公開されています。 https://github.com/toncid/heroku-buildpack-wkhtmltopdf
ただ、issueを読んでるとバージョンが上がっていくごとに不安定そうにも見えたので、今後は自分でBuildPackを作成するのを検討中です。
インストール確認
インストールが成功したことを確認します。
確認コマンド
heroku run "wkhtmltopdf -V" --app %アプリ名%
wkhtmltopdf 0.12.2.1 (with patched qt)