2015-06-11 32 views
0

我想創建一個將某些網站的HTML源代碼轉換爲jpg/png圖像的功能。我還必須在外部服務器上這樣做 - 這意味着我不知道它是否具有所有必需的庫,並且我不想在那裏安裝太多的東西,越少越好。將HTML轉換爲圖像而不安裝任何東西

我已經發現了兩個選項:

- wkhtmltoimage 
- cutycapt 

但它們都需要依賴安裝,更不用說模擬服務器,它很爛。

有沒有辦法做到這一點,沒有任何外部庫?謝謝!

+0

您可以使用舊的''方法。畫布內的元素可以從鼠標右鍵菜單保存爲圖像。但IE是唯一一個無法將其保存爲圖像的人。 – Nikko

+0

嗨,我認爲這個鏈接有你的答案.. http://stackoverflow.com/questions/757675/website-screenshots-using-php – phpfresher

+0

使用webkit2png。 這可以在100%縮放比例(-s 1)下保存剪輯後的圖像(-C): webkit2png -C -s ​​1 -W 1000 -H 1000 --clipwidth 1000 --clipheight 1000 http://t.co -F只保存一個完整大小的圖像: webkit2png -F http://stackoverflow.com –

回答

0

您可以使用此Java庫,。這個簡單的Java庫將純HTML標記轉換爲圖像,並使用HTML元素提供客戶端圖像映射,並支持不同的圖像格式,如GIF,PNG或JPEG圖像。

這個庫有非常方便,簡單和清醒API的。

常見的用法是這樣的:

HtmlImageGenerator imageGenerator = new HtmlImageGenerator(); 

imageGenerator.loadHtml("<b>Hello World!</b> Please goto <a title=\"Goto Google\" href=\"http://www.google.com\">Google</a>."); 
// OR you can fetch HTML from URL 
imageGenerator.loadUrl("http://www.example.com/xyz.html"); 

imageGenerator.saveAsImage("hello-world.png"); 
imageGenerator.saveAsHtmlWithMap("hello-world.html", "hello-world.png"); 

將產生HELLO-world.png的HTML形象和HELLO-world.html文件,其中包含客戶端圖像映射。

該庫還有其他幾個API,您可以根據自己的需求進行探索。

+0

不過,我有一個PHP的標籤在我的崗位 – khernik

+0

@khernik,首先你必須編輯你的問題,指定'php'也。 –

+0

@khernik,用於處理* php *腳本,您可以使用** loadUrl(url)**此庫的Api從URL對象或URL字符串加載HTML。因爲當您從URL訪問* php *腳本時,它會返回處理文件完全是HTML格式。 –

0

這在使用pbmtext的linux中是非常有可能的。該工具將任何文本轉換爲pbm圖像文件。

對於你的情況下,

curl -L google.com | pbmtext > google.pbm 

然而,提防,這將產生一個非常大的文件(MB幾個100S)。所以你將不得不做一些後處理,比如把它轉換成另一種格式或調整它的大小。

相關問題