ハイチャートの「すべて印刷」ボタンを作成することは可能ですか?ハイチャート:「すべて印刷」ボタン
jFiddle:http://jsfiddle.net/highcharts/gd7bB/1/に示されているように、複数のグラフをエクスポートすることは可能ですが、Highchartsでは同様の方法で印刷することができません。
ハイチャートの「すべて印刷」ボタンを作成することは可能ですか?ハイチャート:「すべて印刷」ボタン
jFiddle:http://jsfiddle.net/highcharts/gd7bB/1/に示されているように、複数のグラフをエクスポートすることは可能ですが、Highchartsでは同様の方法で印刷することができません。
ここでは、直接印刷を行う別の解決方法を示します。これはchart.print()関数に基づいていますが、複数のチャートで機能します。答えを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);
}
});
exportChartメソッドは、複数のグラフを送信できるようにパラメータを受け入れます。ただし、printメソッドはパラメータを受け入れません。ですから、印刷するためには、chart1.print()のように各グラフを個別に指定する必要があります。およびchart2.print();それぞれ別々に印刷します。 Highcharts印刷を使用せずにページ全体を印刷する
:
は、2つの回避策があります。ここにはexampleがあります。
両方のグラフをpdfファイルにエクスポートしてからフォームを印刷することができます。ここに例を示しますexport multiple charts to one pdf。
ありがとう:
はここデモを参照してください。これはjFiddleで動作しますが、私のページでは、これはチャートだけでなくページ上の他のものも印刷します。私は印刷CSSを使って何かを働かせることができると思うが、チャートだけを印刷する方法はあるのだろうか? –
私は自分の答えを更新しました。多分それはあなたのために働くでしょう。 – Linger
これは、クライアント側から複数のチャートを印刷することができない場合に使用することを意図したものです。誰かが別の解決策を持っている場合に備えて、私は今質問を開いたままにしておきます。 –
私はそれに目を通しますが、jsFiddleに見えるものから見えます。 –
Highchartsがファイルを削除しました。これは最初のリンクの代わりにこれを使うことができます。http://jsfiddle.net/q5Rzu/147/ – fcortes
私を助けてくれますか?私は一度に5つのチャートを印刷したい。しかし、私は最初のページの一番上に太りを与えたい。どうやってするか ? –