こんにちは。ファガイです。
本日は、wkhtmltoxを使ってWebページのキャプチャを取ります。
環境は以下です。
- CentOS6.4
- PHP5.4
- Apache
まずはじめに必要なライブラリ等があるので入れます。
# yum install libXrender fontconfig libXext
とりあえずxvfpも入れましょう。もしかしたら入れ方間違えてるかもです。
# yum install xvfp
それでは必要となるlibを用意します。
バージョンが0.11があったのですが、QPixmap: Cannot create a QPixmap when no GUI is being usedと出るため諦めて0.10のrc2版を使います。
# wget https://wkhtmltopdf.googlecode.com/files/libwkhtmltox-0.10.0_rc2-i386.tar.bz2 # bzip2 -d libwkhtmltox-0.10.0_rc2-i386.tar.bz2 # tar xvf libwkhtmltox-0.10.0_rc2-i386.tar # mv lib/* /usr/local/lib # mv include/* /usr/local/include/
php-wkhtmltoxの導入もしましょう。これはphpでexecをしなくて済みます。
# git clone https://github.com/mreiferson/php-wkhtmltox.git # cd php-wkhtmltox/ # phpize # ./configure # make # make install # vi /etc/php.d/phpwkhtmltox.ini extension=phpwkhtmltox.so :wq
サンプルとしては以下のようなもの。
wkhtmltox_convert('image', array('out' => '/tmp/fagainet.jpg', 'in' => 'http://fagai.net/'));
因みに、オプションがよく分からなくて、crop系が効かなかったり、スケールの変更等も効かず、現状100%の状態でしか取れなさそうです。
補足として、第1引数のarrayにscreenWidthが設定できますが、これは空白の部分しかクリッピングしてくれません。
ちゃんとスクリーンサイズを変更するためにはsmartWidthの値をfalseに設定する必要があります。
主はスケールの変更と高さのクリッピングが出来なくて困ってます・・・。誰か教えてくれると嬉しいなって。
コメント