2013-03-12 101 views
0

我在導出PDF格式的圖表時遇到問題。 看下面的例子:將圖表導出爲PDF格式圖片

http://jsfiddle.net/adrianCC/MLasL/28/

var chart = new Highcharts.Chart({ 
       chart: { 
        renderTo: 'container', 
        width: 600, 
        height: 90, 
        borderColor: '#000000', 
        borderWidth: 0, 
        type: 'line', 
        spacingLeft: 175 
       }, 
... 

圖表應具有嵌入的圖像輸出,但圖像不輸出到PDF。 我正在使用ASP.What是什麼問題?

謝謝!

+0

什麼服務器端語言是您使用使用? – 2013-03-12 16:46:49

+0

我正在使用ASP。 – user2143760 2013-03-13 08:50:44

回答

0

導出沒有動態內容的工具使用圖表,如在回調中使用渲染器。因此,您應該在加載圖表事件中使用渲染器,這會在圖表初始化期間添加圖像。 (http://api.highcharts.com/highcharts#chart.events.load

採取看看例子:http://jsfiddle.net/MLasL/38/

events:{ 
        load:function(){ 
        this.renderer.image('http://87.106.176.87/Carel/Content/images/logo.jpg', 1, 1, 150, 50).add(); 

        } 
       } 
0

這是我如何解決這個問題:

  • 使用google canvg 它需要一個URL到SVG文件或者一個文本SVG文件,用JavaScript解析它,並將結果呈現在Canvas元素上。

  • 呈現圖表SVG使用

    canvg(document.getElementById('canvas'),getSVG()); 
    
  • 畫布轉換你有什麼在畫布圖像

    var canvas = document.getElementById("canvas") ; 
        var img = canvas.toDataURL("image/png"); //img is data:image/png;base64 
        img = img.replace('data:image/png;base64,', ''); 
    
  • 渲染圖片的隱藏字段

    $("hidden field").val(img) ; 
    
  • 將此字符串轉換爲字節a rray做

    Dim imageFile() As Byte = Convert.FromBase64String(YOUR HIDDEN FIELD .Value) 
    

UPDATE

得到highcharts SVG

  • 使用chart.getSVG()方法

Highcharts API

jsFiddle Example

  • 或者乾脆$(your svg).html()