2012-03-16 93 views
1

我要創建從PHP腳本PNG/JPEG圖像..簡言之將HTML轉換成圖像在PHP

的代碼將創建一個HTML表格,將包括在該頁面的圖像。我需要將整個頁面保存爲圖像,將該圖像保存在服務器中並返回圖像的路徑(使用webservice)。

我可以很好地從imagejpg函數創建圖像。我的問題是如何將該HTML轉換爲圖像,無法採取屏幕截圖,因爲通過Web服務正在進行的過程。

請幫我使用PHP

由於HTML轉換爲圖像預先

+0

我剛剛創建包括MAP完整的HTML頁面....我有這個完整的HTML轉換成圖像。 。請幫助..我必須分享HTML代碼? – ramesh 2012-03-16 05:46:08

回答

6

您可以從this link下載wkhtmltoimage。有一個適用於所有操作系統的版本,所以不應該是一個問題。然後你可以使用它像這樣:你要注意

$path="wkhtmltoimg/wkhtmltoimage.exe"; //path to your executable 
$url="http://google.com"; 
$output_path="test.png"; 
shell_exec("$path $url $output_path"); 

的一件事是,如果PHP是在安全模式下,會了shell_exec不工作,你將不能夠做轉換。

+0

試過這個,並沒有工作! – iTurki 2014-02-28 06:03:07

0

您可以使用PHP PhantomJS到HTML頁面的屏幕截圖保存到本地磁盤:

<?php 

use JonnyW\PhantomJs\Client; 

$client = Client::getInstance(); 

$width = 800; 
$height = 600; 
$top = 0; 
$left = 0; 

$request = $client->getMessageFactory()->createCaptureRequest('http://example.com', 'GET'); 
$request->setOutputFile('/path/to/save/capture/file.jpg'); 
$request->setViewportSize($width, $height); 
$request->setCaptureDimensions($width, $height, $top, $left); 

$response = $client->getMessageFactory()->createResponse(); 

// Send the request 
$client->send($request, $response);