2008-12-04 128 views
17

我需要一個工具來自動將簡單的HTML轉換爲圖像。我將控制由簡單的文本格式標記和可能的圖像鏈接組成的HTML輸入 - 我不需要能夠呈現任意的HTML。有沒有簡單的方法來做到這一點?簡單的HTML佈局引擎將HTML轉換爲圖像

我已經看過像Gecko和Webkit這樣的HTML佈局引擎,但坦率地說,我被他們擁有的選項數量所淹沒 - 我不需要一個完整的網絡瀏覽器!是否有可能以這種方式使用這些引擎?有人能引導我走向正確的方向嗎?

其他可能性,如瀏覽器,依靠真實瀏覽器的屏幕截圖,但我將在具有潛在許多用戶的Web服務器上運行此應用程序,因此性能很重要,恐怕這種解決方案不會規模。

想法?

編輯:抱歉忘了提及我的服務器運行Linux,所以Windows解決方案將無濟於事。 :)

回答

14

回答,我自己的問題我發現這個有用的工具,它使用WebKit來呈現頁面,然後捕獲輸出爲圖像或甚至PDF格式!

http://cutycapt.sourceforge.net/

的想法是相似的khtml2png周杰倫提及,但我喜歡這個實現更好。另外,爲了將來的參考,通過Xvfb運行X虛擬幀緩衝區並不像我擔心的那樣佔用內存很多。

+2

此源代碼包含NO makefile,NO說明;並且它很快就很明顯從他們的站點獲得Linux Binary的位置。 – JeffG 2012-03-08 13:43:09

0

也許你可以將HTML轉換爲另一種更容易轉換爲圖像的格式?在Google中,我找到了一個名爲html2ps和html2pdf的東西。從PS到EPS只有一步之遙,並且可以將其作爲圖像呈現。或類似的東西。

+0

這是一個很好的建議。例如,Ghostscript可以從ps源文件轉換成各種圖像格式,而後者可以由html2ps創建。 – Jay 2008-12-04 20:17:24

2

Windows?如果是的話,那麼HTMLayout可以提供幫助 - 它是一個免費的渲染引擎,它有一個簡單的API - 從C/C++使用它很容易 - 將HTML轉換爲BMP並不難。

http://www.terrainformatica.com/htmlayout/

它是免費的。

5

您可能會發現這個有用的,如果你是在Linux上運行,並有可用的KDE庫:khtml2png

的khtml2png是一個命令行程序來創建網頁的截圖。它使用libkhtml(在KDE網頁瀏覽器Konqueror中使用的庫)。在khtml2png 2.0.5到2.5.0中,ImageMagick圖形轉換工具包中的「convert」用於創建各種圖像文件格式的輸出文件。 2.6.0和未來的開發將使用Qt庫的內置轉換。

此外,跟進什麼Vilx建議,你可以使用html2ps的將HTML轉換到PS文件,然後GS(Ghostscript的)打開PS文件轉換成PNG或JPG。一種方法見http://www.karakas-online.de/myLinuxTips/ps2png.html

0

You cn使用PDFCreator應用程序。此應用程序允許打印許多格式,包括各種圖像。它包括一個ActiveX/COM服務器,它可以讓你很容易地自動化這個過程。你幾乎可以轉換任何你可以打印的東西。 這種方法的一個缺點是,由於它使用打印框架工作進行轉換,所以一次只能轉換一個文檔,所以我不知道它是否足夠滿足某個網站的要求。

+0

注意提交者在Linux上運行,因此Windows(ActiveX/COM)解決方案在這種情況下不起作用。 – Jay 2008-12-04 20:16:18

7

我已經使用CutyCapt之前它有點笨拙和臃腫 - 需要Qt。

IMO,PhantomJs(無頭webkit)迄今爲止最好的解決方案,快速,簡單和乾淨。你可以用它做很多事情。

http://phantomjs.org

還是看this

0

我一直有很好的運氣與wkhtmltoimage命令(以及對打印輸出,wkhtmltopdf),它已連續多年在Ubuntu是可利用原生和有,如果我記得,總是呈現正確和相當快。

http://wkhtmltopdf.org/

有幾種可供選擇,但基本調用看起來像:

wkhtmltoimage tmp.html tmp.png