2012-10-25 62 views
2

我使用highcharts导出模块将图表导出为pdf。在我的代码中,我创建了一个代码片段chart,它可以在不同的GUI控件上使用。它看起来是这样的:HighCharts导出文件名

options = { 
    ... 
    ... 
    exporting:{ 
     type: "application/pdf", 
     filename: "default", 

     buttons:{ 
     exportButton:{ 
      menuItems: null, 
      onclick:function(){ 
       var fileName = "AAAA";//it's dynamic in reality. 
       alert(options.exporting.filename);//alerts "default" 
       options.exporting.filename = fileName; 
       alert(options.exporting.filename);//alerts "AAAA" 
       this.exportChart(); 
      } 
     }, 
     printButton: { 
      enabled: false 
     } 
     } 
    } 
} 

现在,只要出口按钮被点击下载的文件被命名为default.pdf而警报显示,财产已被更改。

此外,由于第一个警报显示结果为default(这不是默认值,其chart实际上)它明确一点,我引用了正确的属性,所以没有机会,错误的原因是错误的属性设置文件名。

任何人都可以解释的情况或建议的变化,让我用动态名称下载文件。

回答

5

您可以更改文件的文件名。以下是关于如何完成该操作的example。相关代码:

exportButton: { 
    menuItems: null, 
    onclick: function() { 
     chart.exportChart({filename: 'my-png'}, null); 
    } 
}, 

这里是另一个example,显示多一点什么可以输出和打印过程中控制。相关代码:

$('#buttonExport').click(function() { 
    var e = document.getElementById("ExportOption"); 
    var ExportAs = e.options[e.selectedIndex].value; 

    if(ExportAs == 'PNG') 
    { 
     chart.exportChart({type: 'image/png', filename: 'my-png'}, {subtitle: {text:''}}); 
    } 
    if(ExportAs == 'JPEG') 
    { 
     chart.exportChart({type: 'image/jpeg', filename: 'my-jpg'}, {subtitle: {text:''}}); 
    } 
    if(ExportAs == 'PDF') 
    { 
     chart.exportChart({type: 'application/pdf', filename: 'my-pdf'}, {subtitle: {text:''}}); 
    } 
    if(ExportAs == 'SVG') 
    { 
     chart.exportChart({type: 'image/svg+xml', filename: 'my-svg'}, {subtitle: {text:''}}); 
    } 
}); 

$('#buttonPrint').click(function() { 
    chart.setTitle(null, { text: ' ' }); 
    chart.print(); 
    chart.setTitle(null, { text: 'Click and drag in the plot area to zoom in' }); 
}); 
+0

我想在打印图表时显示标题,但我是这样做的。 chart.setTitle({text:'SOme title'}); chart.print(); chart.setTitle({text:''}); 它的工作正常,但标题显示内部图线。我无法解决它。请帮忙。 – user1791574

2

你可以试试这个,而不是

exportButton:{ 
      menuItems: null, 
      onclick:function(){ 
       var fileName = "AAAA";//it's dynamic in reality.          
       this.exportChart({filename : fileName}); 
      } 
     } 

exportChart方法需要选择参数太..