2012-10-23 52 views
5

我想要將HTML轉換爲圖像並向用戶顯示結果的選項。我會用PHP創建一個$ html變量,而不是使用echo $ html顯示,我想將它顯示爲圖像,以便用戶可以在需要時保存該文件。在沒有shell的情況下將HTML轉換爲圖像

我希望有一樣簡單的$ image = convertHTML2Image($ html); :如果存在?

謝謝!

回答

2

這在純PHP中是不可能的。

你所謂的「轉換」實際上是一個巨大的,不平凡的任務:HTML頁面必須是呈現。要在PHP中執行此操作,您必須重寫整個Web瀏覽器。

您將不得不使用外部工具(通常使用瀏覽器的渲染引擎)或Web服務(執行相同的操作)。

+0

好的,我沒有固定使用PHP。該頁面將以HTML格式顯示內容。我只想給用戶提供這個選項,如果他們想下載頁面(這個HTML是一個日曆),他們可以點擊一個按鈕,頁面被保存爲圖像,然後用戶可以保存它。 – user1083320

+0

@user查看[如何使用PHP將網頁保存爲圖像文件?](http://stackoverflow.com/q/3175392) –

+0

@ user1083320:爲什麼圖像需要看起來像HTML頁面? – Eric

11

正如@Pekka所說,將HTML代碼轉換爲圖像的工作是一個完整的Web瀏覽器的工作。

如果你想要做這樣的事情,所以你需要有一個腳本,執行以下操作:

  1. 打開網頁在瀏覽器中。
  2. 從瀏覽器捕獲呈現的頁面作爲圖形。
  3. 將圖形輸出給用戶。

傳統上,這將是一項艱鉅的任務,因爲網絡瀏覽器通常由用戶驅動,並且不容易以這種方式自動化。

幸運的是,現在有一個解決方案,形式爲PhantomJS

PhantomJS是一款無頭瀏覽器,專爲這類事情而設計 - 自動化任務需要一個完整的渲染引擎。

它基本上是一個完整的瀏覽器,但沒有用戶界面。它將頁面內容完全呈現爲另一個瀏覽器(它基於Webkit,因此結果與Chrome相似),並且可以通過腳本進行控制。

正如它在PhantomJS主頁上所說的,它的一個目標用例是用於拍攝網站的屏幕截圖或縮略圖。

(另一種很好的利用它是自動化您的網站,它也是一個偉大的工具進行測試)

希望有所幫助。

0

你可能會看看dompdf這是一個PHP框架將html文件轉換爲pdf。

0

是可以將HTML轉換成圖像。但是,首先您必須轉換爲PDF。請參閱link

相關問題