FusionCharts使用教程:圖表導(dǎo)出為圖像/PDF
FusionCharts XT圖表控件包中的所有圖表都可以通過配置而導(dǎo)出為圖像/PDF。FusionCharts圖表的導(dǎo)出可以在客戶端或服務(wù)器端進(jìn)行,所有導(dǎo)出的圖像/ PDF可以被保存在客戶端或服務(wù)器上。
下列圖像展示了如何在客戶端通過圖表的上下文菜單將圖像導(dǎo)出為圖表。其實(shí),你也可以通過JavaScript APIs導(dǎo)出圖表。默認(rèn)情況下,菜單項(xiàng)目不會出現(xiàn)在FusionCharts圖表中,你需要配置導(dǎo)出選項(xiàng)和處理器。本文中,我們將簡要介紹所有的導(dǎo)出選項(xiàng)。
FusionCharts XT不能直接將圖表導(dǎo)出為圖像,它需要借助于服務(wù)器端腳本或其他客戶端Flash動畫(Flash Player 10)。 FusionCharts XT將圖表的快照發(fā)送至對象FusionCharts Export Handlers,然后將其轉(zhuǎn)換為圖像或PDF。
FusionCharts Export Handlers導(dǎo)出處理器有兩種形式:Server-side Handlers和Client-side Handler。
FusionCharts Server-side Export Handlers:
服務(wù)器端導(dǎo)出處理器通過腳本可幫助你將FusionCharts XT導(dǎo)出為圖像/PDF。FusionCharts提供現(xiàn)成的ASP.NET、PHP、Ruby on Rails和Java腳本。
這些腳本接受來自 FusionCharts XT的壓縮位圖數(shù)據(jù)(通過HTTP或HTTPS),并轉(zhuǎn)換成相同的圖像/PDF。轉(zhuǎn)換后,您有兩種選擇:
- 將輸出的(圖像/ PDF)保存至服務(wù)器磁盤。
- 或者,返回至瀏覽器,讓用戶立即下載它。
備注:自 FusionCharts XT v3.3.0起,JavaScript圖表可以導(dǎo)出并保存至服務(wù)器磁盤。要做到這一點(diǎn),你需要配置自己的服務(wù)器。服務(wù)器需要支持PHP和Java(1.3或以上)版本。此外,你需要在服務(wù)器上安裝 FusionCharts PHP導(dǎo)出處理器和Apache Batik SVG Rasterizer庫。
Client-side Export Handlers:
客戶端FusionCharts導(dǎo)出控件,幫助你繞過所有服務(wù)器腳本并在客戶端將圖表保存為圖像/ PDF文件??蛻舳说膶?dǎo)出是通過 FusionCharts Export Component SWF文件(需要Flash Player 10)和FusionCharts Export Javascript類來完成的。
FusionCharts圖表批量導(dǎo)出
只需單擊,你就可以通過客戶端導(dǎo)出處理器導(dǎo)出所有網(wǎng)頁中的圖表。這就是所謂的批量導(dǎo)出。每個圖表的導(dǎo)出文件既可以單獨(dú)保存也可以將所有圖表作為一個文件保存。
圖表導(dǎo)出設(shè)置
要啟用圖表的導(dǎo)出功能,你需要在圖表數(shù)據(jù)(XML/ JSON)中添加導(dǎo)出設(shè)置。你需要設(shè)置exportEnabled XML圖表屬性或者設(shè)置JSON圖表屬性為"1"。
如何設(shè)置圖表數(shù)據(jù)導(dǎo)出?
XML
<chart exportEnabled='1' exportAtClient='0' exportHandler='index.php' yAxisName='Sales Figure' caption='Top 5 Sales Person' numberPrefix='$'> <set label='Alex' value='25000' /> <set label='Mark' value='35000' /> <set label='David' value='42300' /> <set label='Graham' value='35300' /> <set label='John' value='31300' /> </chart>
JSON
{ "chart":{ "exportenabled":"1", "exportatclient":"0", "exporthandler":"index.php", "yaxisname":"Sales Figure", "caption":"Top 5 Sales Person", "numberprefix":"$" }, "data":[ { "label":"Alex", "value":"25000" }, { "label":"Mark", "value":"35000" }, { "label":"David", "value":"42300" }, { "label":"Graham", "value":"35300" }, { "label":"John", "value":"31300" } ] }