天天看點

如何在Linux上将HTML頁面轉化成png圖檔

在本篇教程中,我會描述如何将一個html網頁使用cutycapt轉化成png圖檔。

如何在Linux上将HTML頁面轉化成png圖檔

<a target="_blank"></a>

這是在特定linux發行版上的安裝指令。

$ sudo apt-get install cutycapt

$ sudo yum install subversion qt-devel qtwebkit-devel gcc-c++ make

$ svn co svn://svn.code.sf.net/p/cutycapt/code/ cutycapt

$ cd cutycapt/cutycapt

使用文本編輯器打開cutycapt.hpp,并且加入在檔案的開頭加上下面的兩行。

#include

最後,如下編譯并安裝cutycapt。

$ qmake-qt4

$ make

$ sudo cp cutycapt /usr/local/bin/cutycapt

将一個html頁面截圖成一個png圖檔,隻要使用下面的格式運作cutycapt。

$ cutycapt --url=http://www.cnn.com --out=cnn.png

要将html頁面儲存成不同的格式(比如,pdf),隻要适當地指定輸出檔案。

$ cutycapt --url=http://www.cnn.com --out=cnn.pdf

下圖顯示了cutycapt指令選項。

如何在Linux上将HTML頁面轉化成png圖檔

雖然cutycapt是一個指令行工具,但是它需要x服務運作。如果你嘗試在不含x服務的機器上運作,你會得到下面這個錯誤:

cutycapt: cannot connect to x server :0

如果你要不含x的伺服器上運作cutycapt,你可以在伺服器上安裝xvfb(輕量級“假的”x11 服務)。這樣cutycapt就不會報錯了。

要在debian, ubuntu 或者 linux mint 上安裝xvfb:

$ sudo apt-get install xvfb

要在fedora, centos 或者 rhel 上安裝xvfb:

$ sudo yum install xvfb

在安裝xvfb之後,接下來像這樣運作cutycapt。

$ xvfb-run --server-args="-screen 0, 1280x1200x24" cutycapt --url=http://www.cnn.com --out=cnn.png

它首先會運作xbfb服務,接着使用cutycapt來抓取網頁。是以它可能會花費更長的時間。如果你想要截圖多張截圖,你可能事先需要将xvfb作為背景守護程序啟動。

原文釋出時間為:2014-03-18

本文來自雲栖社群合作夥伴“linux中國”

繼續閱讀