這樣子要做網頁縮圖,就簡單啦。
在 Ubuntu 上似乎簡單很多,但我是安裝在 SLES 上面。
所以就亂查資料,然後亂TRY ,所以可能方法都不是很正確,因此看看就好。
官方網站:CutyCapt
CutyCapt is a Qt and WebKit based command-line utility that captures WebKit's rendering of a web page into various bitmap, vector, and other file formats.
這裡就簡單記錄一下我怎麼裝的。
我先去將Source 檔抓下來,還有 SPEC 檔。
從這裡:CutyCapt Source Files
然後Build 成 rpm。除了 cutycapt.changes ,其它三個檔都要。
怎麼包 RPM 就不多說了。
cutycapt.spec 的部份要改一下
# 將 BuildRequires 都Mark 掉 #BuildRequires: pkgconfig(QtCore) #BuildRequires: pkgconfig(QtGui) #BuildRequires: pkgconfig(QtNetwork) #BuildRequires: pkgconfig(QtSvg) #BuildRequires: pkgconfig(QtWebKit)不然在build 的時候會一直說缺少這些東西,
然後 cutycapt.1 跟 cutycapt-0.0+svn7.tar.bz2 都要放在 SOURCES 目錄中
Build 完 RPM 後,就可以安裝啦。
裝好後直接執行
# cutycapt --url=http://www.example.org --out=example.png出現錯誤訊息
cutycapt: cannot connect to X server
這是因為沒有 X Server,所以要透過 Xvfb 來執行。
參考:centos下 cutycapt 安裝方法總結及dbug
# wget http://www.flexthinker.com/wp-content/uploads/2009/11/xvfb-run.sh.txt -O xvfb-run.sh # chmod u+x ./xvfb-run.sh # cp xvfb-run.sh /usr/bin/
接著執行
# xvfb-run.sh /usr/bin/cutycapt --url=http://google.com --out=/tmp/hello.png結果又出現錯誤訊息
mktemp: too few X's in template `Xauthority'
好麻煩,怎麼一直錯…
這個要去改 /usr/bin/xvfb-run.sh 的檔案內容,在154 行
參考:Running an X-app without an X-server
# AUTHFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" Xauthority) # 改成下行 AUTHFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" Xauthority.XXXXXXXX)
然後再次執行指令,這次就成功的將圖抓下來啦,請見最上面的圖 ( Google 首頁 )。
之後只要用PHP 利用 exec 去執行就可以抓到縮圖啦。
不過這個抓縮圖,會把網頁的內容全部抓下來,
所以圖片長度常常會超過你要的,這時就可以再用 convert 去截你要的大小。
終於裝好啦。
0 comments:
張貼留言