2010-08-17 53 views
2

我正在使用谷歌可視化api爲我的基於php的網站。我打算使用tcpdf來提供我使用Google Visualization API生成的相同圖像的pdf版本。在php中的截圖

是否有任何方法可以將這些可視化文件保存在我的服務器上,以便我直接在tcpdf中使用它們?

如果沒有,那麼我可以自動截取圖像的截圖並在tcpdf中使用它們嗎?

我之所以沒有手動截屏和保存,是因爲可視化中的所有值都是動態的,並且每天都在不斷變化,所以我正在自動進行一些操作。請提出建議?

回答

1

Google Visualization API的結果可以是圖片或Flash(在交互式圖表上)。如果你的結果是一個圖像(最常見),你可以從服務器下載到服務器文件夾,並從本地路徑添加到tcpdf。

可以使用例如捲曲:

$ch = curl_init($remoteURL); // get the image from this url 
$fp = fopen($localFile, "wb"); //put the image in this server path 

// set URL and other appropriate options 
$options = array(CURLOPT_FILE => $fp, 
    CURLOPT_HEADER => 0, 
    CURLOPT_FOLLOWLOCATION => 1, 
    CURLOPT_TIMEOUT => 60); // 1 minute timeout (should be enough) 
curl_setopt_array($ch, $options); 

// Execute curl 
curl_exec($ch); 
curl_close($ch); 

// close the file 
fclose($fp); 

一旦圖像是在你的服務器的時間路徑,你可以將圖像添加到使用「圖像」的方法和路徑的文件,你的ctpdf已保存到您的服務器。

  • 服務器路徑必須可以通過Web服務器寫入。這對* nix環境特別重要。

這裏更多的方法可以做到文件下載 http://www.php-mysql-tutorial.com/wikis/php-tutorial/reading-a-remote-file-using-php.aspx

+0

但谷歌的可視化API有圖像的JavaScript的形式,而不是PNG或JPG ...谷歌圖表API有它PNG或JPG格式。 – 2010-08-18 19:05:20

+0

圖表圖表和交互式圖表都是同一個API的一部分(Google Chart Tools)如果您需要將圖像放入服務器以製作PDF,您需要使用圖像版本。 SWF/Javascript版本在客戶端呈現。 – Dubas 2010-08-19 10:32:44