wkhtmltopdf を使えば、Webページをコマンド一発でとてもシンプルにPDFや画像に変換することができます。
厳密に言えば、WebページのPDF変換と画像変換はコマンドが分かれており、wkhtmltopdfコマンドを使えばPDFへ、wkhtmltoimageを使えば画像へ変換することができます。
Linux版だけでなく、WindowsやMacOS版も用意されています。
ただし、2010年9月時点で最新版が0.10.0Beta5ということなので、ちょっとソフトウェア自体の安定度はどうかわかりませんが。
wkhtmltopdfのインストール
インストールといっても、ファイルを解凍すればバイナリファイルが出来上がるだけなのでとても簡単なんですが、最新の0.10.0ではLZMA形式で圧縮されたファイルになっており、解凍時に注意が必要です。
私のテストした環境でもLZMA形式のファイルを取り扱えなかったので、別途xzコマンドをインストールして対応しました。
# yum install xz.i386
xzコマンドを使えばLZMA形式で圧縮されたファイルを解凍できるので、先ほどダウンロードしたファイルを展開します。
$ xz -d wkhtmltopdf-0.10.0_beta5-static-i386.tar.lzma $ tar -xvf wkhtmltopdf-0.10.0_beta5-static-i386.tar
すると、 wkhtmltopdf-i386という名前のバイナリファイルができるので、後はパスが通った適当なディレクトリにコピーしておきます。
# cp wkhtmltopdf-i386 /usr/local/bin/wkhtmltopdf
これで、wkhtmltopdfコマンドがどこからでも利用可能となりました。(wkhtmltoimageも同様です)
wkhtmltopdfの使い方
使い方もいたってシンプルなんですが、例えばGoogleのページのPDFファイルに変換したい場合は
$ wkhtmltopdf http://www.google.co.jp/ google.pdf Loading pages (1/6) Counting pages (2/6) Resolving links (4/6) Loading headers and footers (5/6) Printing pages (6/6) Done
とします。
若干メニューの部分がおかしいのですが、GoogleサイトがPDFファイルへ変換されています。
ちなみに、wkhtmltopdfコマンドはWebサイトだけでなくローカルのファイルも変換することが可能です。
しかも、HTMLファイルだけでなくテキストなどでも変換可能になっています。
wkhtmltoimageの使い方
こちらも同様にシンプルに使えます。
$ wkhtmltoimage http://www.google.co.jp/ google.jpg Loading page (1/2) Rendering (2/2) Done
デフォルトだと、JPG形式で保存されます。
- google.jpg
※ 画像サイズはブログ貼り付け用に変更しています。
その他の画像フォーマットに変換したい場合は
$ wkhtmltoimage -f png http://www.google.co.jp/ google.png Loading page (1/2) Rendering (2/2) Done
というように、最初に「-f」オプションを指定します。
その他にも、画像の幅や高さ、画像のクオリティなどを指定することも可能です。
詳細は、
$ wkhtmltoimage --help
で、確認してみてください。
Web魚拓のようにWebサイトの情報を定期的に撮っておきたいような場合には、使えるかもしれませんね。
[PR]
[PR]
関連記事
[PHP] 簡単に画像の加工ができるintervention/image
PDFを他のファイル形式に簡単に変換できるpoppler-utils
Linux上でファイルを削除してしまった際にさっくり復活できるextundelete
ノンプログラミングでも利用可能!PHPで多様なグラフを作れるpChart

