高图表:“全部打印”按钮
Highcharts: "Print all" button
是否可以为打印多个图表的高图表创建"全部打印"按钮?
我知道导出多个图表是可能的,如 jFiddle: http://jsfiddle.net/highcharts/gd7bB/1/所示,但我不确定 Highcharts 是否允许类似的打印方法。
exportChart 方法接受参数,因此您可以向其发送多个图表。但是,打印方法不接受任何参数。因此,要打印,您必须单独指定每个图表,例如 chart1.print();和图表2.打印();分别打印它们。
有两种解决方法:
- 打印
整个页面而不使用Highcharts打印。下面是一个示例。
您可以将两个图表导出到 pdf 文件,然后在那里打印表单。 下面是如何将多个图表导出到一个pdf的示例。
这是直接进行打印的替代解决方案。它基于 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);
}
});
相关文章:
- 如何为我的 html 表单制作打印预览和打印按钮
- 打印按钮不起作用
- 如何在网页中插入打印表单的“打印”按钮
- Javascript 打印多个网页 iFrame 内容(全部打印按钮)
- 来自 iframe 的打印按钮
- 高图表:“全部打印”按钮
- CEWP 打印按钮,带有用于打印 SharePoint 表单的代码
- 删除高图图表上的导出和打印按钮插件
- 同一页面上两个具有不同 css 的打印按钮.可能
- 如何在这个特定的脚本中使全部展开/全部折叠按钮
- 我可以在电子邮件时事通讯中使用“点击打印”按钮吗
- 显示/隐藏打印按钮
- 我怎么能得到这些数组值全部打印到html表单
- 使用“打印”按钮忽略表格单元格中的隐藏元素
- 我怎样才能使打印按钮,将打印一个报告
- 带有打印按钮的JSP页面中的JavaScript
- 当打印按钮被点击,它打印整个页面的pdf格式,包括导航栏和一切.如何打印只是报价
- 如何从PHP打印按钮调用JavaScript函数
- 网页打印按钮不工作
- 检测是否处于打印模式或单击数据表导出工具中的打印按钮