web-dev-qa-db-fra.com

Comment exporter un graphique Highchart vers PDF grâce à un bouton en dehors de la carte?

Je voudrais avoir un button outside a Highchart chart que export le graphique dans PDF.

  • Existe-t-il une méthode Highchart pour le faire?
  • Est-ce qu'un appel ajax est obligatoire?

HTML:

<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>

<div id="container" style="height: 400px; margin-top: 1em"></div>
<button id="export2pdf">Export to PDF</button>

Javascript:

$(function () {
    window.chart = new Highcharts.Chart({
        chart: {renderTo : 'container'},
        title: {
            text: 'Exporting module is loaded but buttons are disabled'
        },
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },

        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]        
        }],
        exporting: {
            enabled: true
        }
    });

    $("#export2pdf").click(function(){
        // Export method ?
        // Ajax call ?
    });
});

Voici un JsFiddle de ce que je voudrais.

Voici un JsFiddle avec la solution de wergeld .

11
kmas

Voir l'API. Ceci est couvert ici sous exportChart . Essentiellement faire ceci:

var chart = $('#container').highcharts();
chart.exportChart({
    type: 'application/pdf',
    filename: 'my-pdf'
});
20
wergeld

Consultez les propriétés exportation pour Highcharts. Vous voudrez définir type à application/pdf.

1
Tomanow