歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用CutyCapt在Linux上將HTML頁面轉化成png圖片

使用CutyCapt在Linux上將HTML頁面轉化成png圖片

日期:2017/2/28 14:34:56   编辑:Linux教程

將一個特定頁面抓取為一張png圖片的最簡單的方法是使用CutyCapt,這是一種在Linux下的方便地將HTML網頁轉化成矢量圖形和位圖圖像格式的命令行工具(比如,SVG, PDF, PS, PNG, JPEG, TIFF, GIF)。CutyCapt內部使用WebKit渲染引擎來導出網頁渲染輸出到圖片文件中。它使用Qt構建,CutyCapt實際上是一個也可以在Windows上使用的跨平台應用。(譯注:也有一個基於IE內核的 IECapt 可以作此用途)

在本篇教程中,我會描述如何將一個HTML網頁使用CutyCapt轉化成png圖片

在Linux上安裝 CutyCapt

這是在特定Linux發行版上的安裝命令。

在Debian, Ubuntu 或者 Linux Mint 安裝 CutyCapt

  1. $ sudo apt-get install cutycapt

在Fedora上安裝 CutyCapt

  1. $ sudo yum install subversion qt-devel qtwebkit-devel gcc-c++ make
  2. $ svn co svn://svn.code.sf.net/p/cutycapt/code/ cutycapt
  3. $ cd cutycapt/CutyCapt

在Fedora上編譯前,你需要在源碼上打上補丁。

使用文本編輯器打開CutyCapt.hpp,並且加入在文件的開頭加上下面的兩行。

  1. #include<QNetworkReply>
  2. #include<QSslError>

最後,如下編譯並安裝CutyCapt。

  1. $ qmake-qt4
  2. $ make
  3. $ sudo cp CutyCapt/usr/local/bin/cutycapt

在CentOS 或者 RHEL安裝 CutyCapt

首先在你的Linux上啟用EPEL倉庫。接著和在Fedora上一樣使用相同的步驟編譯安裝。

使用CutyCapt將 HTML 轉化成 PNG

將一個HTML頁面截圖成一個png圖片,只要使用下面的格式運行CutyCapt。

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

要將HTML頁面保存成不同的格式(比如,PDF),只要適當地指定輸出文件。

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

下圖顯示了CutyCapt命令選項。

在一台不含X的服務器上使用CutyCapt將HTML轉換成PNG

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

  1. cutycapt: cannot connect to X server :0

如果你要不含X的服務器上運行CutyCapt,你可以在服務器上安裝Xvfb(輕量級“假的”X11 服務)。這樣CutyCapt就不會報錯了。

要在Debian, Ubuntu 或者 Linux Mint 上安裝Xvfb:

  1. $ sudo apt-get install xvfb

要在Fedora, CentOS 或者 RHEL 上安裝Xvfb:

  1. $ sudo yum install xvfb

在安裝Xvfb之後,接下來像這樣運行CutyCapt。

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

它首先會運行Xbfb服務,接著使用CutyCapt來抓取網頁。因此它可能會花費更長的時間。如果你想要截圖多張截圖,你可能事先需要將Xvfb作為後台守護進程啟動。

Copyright © Linux教程網 All Rights Reserved