2

ハイチャート エクスポート モジュールを使用して、グラフを pdf としてエクスポートしています。私のコードでは、chart使用されているさまざまな GUI コントロールで操作されるスニペット オブジェクトを作成しました。次のようになります。

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
         }
      }
   }
}

これで、エクスポート ボタンがクリックされるたびに、ダウンロードされたファイルに as という名前が付けられdefault.pdf、プロパティが変更されたことを示すアラートが表示されます。

また、最初のアラートは結果をdefault(デフォルト値ではなく、chart実際には) として表示するため、正しいプロパティを参照していることは明らかであるため、間違ったプロパティにファイル名を設定したためにエラーが発生する可能性はありません。

誰かが状況を説明したり、動的な名前でファイルをダウンロードするように変更を提案したりできますか?

4

2 に答える 2

7

ファイルのファイル名を変更できます。これを実現する方法のを次に示します。関連するコード:

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

これは、エクスポートおよび印刷中に制御できるものについてもう少し説明する別の例です。関連するコード:

$('#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' });
});
于 2012-10-25T14:23:40.910 に答える
2

代わりにこれを試してみませんか

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

exportChart メソッドも options パラメーターを取ります..

于 2012-10-25T14:21:21.830 に答える