利用php截屏或實現網頁快照我們需要用一個工具:xvfb and wkhtmltoimagek哦,這個工具目前只能在linux系統中使用,下面有興趣的朋友可進入參考。
在做旅游攻略時,需要把攻略頁面生成PDF和Jpg圖片,PDF生成用的是《MPDF把Html生成PDF》,而HTML生成Jpg又卡殼了。前期打算以純程式的生成,但是除了調用別的網站提供的遠程API生成Jpg,不然以單純的程式(GD庫和內置函數,或封裝的類)都沒找到完美的解決。
不得已,安裝擴展wkhtmltoimage生成。
安裝步驟如下:
1、服務器端下載安裝wkhtmltoimage,32和64位有區別,心情天空安裝的是centos 5.8 32位。但是下載了 wkhtmltoimage 0.11版本但是出現以下錯誤,
Pixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used最後心情天空安裝wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2低版本才可以正常生成。
32位
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2
tar jxf wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2
cp wkhtmltoimage-i386 /usr/local/bin/wkhtmltoimage
64位
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2
mv wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2 wkhtmltoimage-0.10.0_rc2-static-amd64.tar
tar -xvf wkhtmltoimage-0.10.0_rc2-static-amd64.tar
mv wkhtmltoimage-amd64 /usr/bin/wkhtmltoimage
就這樣,安裝成功,可以測試 wkhtmltoimage http://www.bKjia.c0m/ screenshot.png
2、php執行wkhtmltoimage 生成圖片
代碼如下 復制代碼set_time_limit(0);
shell_exec('/usr/local/bin/wkhtmltoimage http://www.bKjia.c0m/ /usr/local/wwwroot/bKjia.c0m/5eyi.jpg');
假若用foreach批量生成的話建議,sleep(10),每次生成後停頓幾秒。