Highcharts: bouton "Imprimer tout"

Est-il possible de créer un bouton "Imprimer tout" pour Highcharts, où plus d'un graphique est imprimé?

Je sais que l'exportation de plusieurs graphiques est possible, comme en témoigne le jFiddle: http://jsfiddle.net/highcharts/gd7bB/1/ mais je ne suis pas sûr que Highcharts permette une méthode similaire avec l'impression.

Voici une solution alternative qui fait l'impression directement. Il est basé sur la fonction chart.print () , mais il fonctionne sur plusieurs tableaux.

Voir la démonstration ici: http://jsfiddle.net/jim31415/q5Rzu/150/

//-------------------------------------------------------------------- $("#print").click(function () { printCharts([chart1, chart2, chart3]); }); //-------------------------------------------------------------------- function printCharts(charts) { var origDisplay = [], origParent = [], body = document.body, childNodes = body.childNodes; // hide all body content Highcharts.each(childNodes, function (node, i) { if (node.nodeType === 1) { origDisplay[i] = node.style.display; node.style.display = "none"; } }); // put the charts back in $.each(charts, function (i, chart) { origParent[i] = chart.container.parentNode; body.appendChild(chart.container); }); // print window.print(); // allow the browser to prepare before reverting setTimeout(function () { // put the charts back in $.each(charts, function (i, chart) { origParent[i].appendChild(chart.container); }); // restore all body content Highcharts.each(childNodes, function (node, i) { if (node.nodeType === 1) { node.style.display = origDisplay[i]; } }); }, 500); } }); 

La méthode exportChart accepte les paramètres afin que vous puissiez l'envoyer plus d'un graphique. Cependant, la méthode d'impression n'accepte aucun paramètre. Ainsi, pour imprimer, vous devez spécifier chaque graphique séparément comme chart1.print (); Et chart2.print (); Qui les imprime séparément.

Il existe deux solutions de contournement:

  1. Impression de la page entière sans utiliser l'impression Highcharts. Voici un exemple .

  2. Vous pouvez exporter les deux graphiques vers un fichier pdf puis imprimer le formulaire là-bas. Voici un exemple sur la façon d' exporter plusieurs graphiques vers un pdf .