[英]Highcharts exporting functionality
有沒有人知道一種自動創建SVG圖表的方法,並同時導出Highacarts圖表的JPEG或PNG圖像版本(最好是$(document).ready
)?
我想顯示SVG版本到屏幕並將PNG或JPEG放在隱藏的DIV中進行打印。
提前致謝。
我的解決方案自動創建我的頁面/儀表板中每個圖表的SVG的等效圖像(處於其啟動狀態),而無需用戶單獨導出它們。 這使得頁面上的所有Highcharts圖形和圖表都能正確打印,無需用戶交互。
具有Highcharts圖表的頁面無法正確打印的原因是因為圖表是使用SVG制作的,並且當前版本的常見瀏覽器不支持打印SVG(2012年1月編寫)。 因此,我的解決方案無關緊要。
我的解決方案繞過了當前的瀏覽器限制:
首先,我修改了Highcharts exporting.js
以自動觸發其通常觸發當用戶手動選擇輸出圖像的步驟的程序文件。
接下來,需要注意的是,當用戶手動選擇導出圖像時,他們的請求將作為整個頁面的標頭請求發送。
因此,我對導出功能的修改不直接POST高位圖數據,而是首先將SVG和Highcharts在我的頁面/儀表板中需要的其他必要數據發送到DIV。
接收請求的每個DIV都包含一個php文件,其例程json_encodes
它從導出例程接收的POST數據,然后將其作為自己的標題發送到Highcharts導出服務器。
因此,因為POST是從該DIV觸發的,所以結果將直接發送回該DIV,作為該DIV中PHP腳本的標題。
一旦它被發送回DIV我保存了圖像,只通過CSS制作DIV打印,該DIV的唯一HTML輸出是帶有圖像文件路徑的img標簽。
我使用$(document).ready
觸發了所有使用圖像填充的div。
嘗試這個的其他人的一個注意事項是我的dev和live服務器的配置不同,這意味着在將其發送到Highcharts之前我必須在其中一個上stripslashes
JSON。
以下帖子將指向其他任何嘗試以正確方向執行此操作的人。
發布到DIV:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.