1
我有大约100个图表要输出到可打印报告。在Internet Explorer中有100个图表会很慢。有没有解决方法?用图像替换highcharts报告?
我有大约100个图表要输出到可打印报告。在Internet Explorer中有100个图表会很慢。有没有解决方法?用图像替换highcharts报告?
您可以将POST请求发送到导出服务器,以导出所有图表,而无需在浏览器中实际呈现它们。
const options = {
chart: {},
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],
type: 'column'
}]
}
const data = {
options: JSON.stringify(options),
filename: 'test.png',
type: 'image/png',
async: true
}
const exportUrl = 'https://export.highcharts.com/'
$.post(exportUrl, data, function(data) {
const imageUrl = exportUrl + data
const urlCreator = window.URL || window.webkitURL
document.querySelector("#image").src = imageUrl
})
// You can uncomment in order to render chart
// const chart = Highcharts.chart('container', options)
活生生的例子: https://jsfiddle.net/28098mfj/
难道仅仅100个图表或100级的图表与文字?如果要将每个图表导出为单个图像,则可以使用批量导出,如果您运行自己的导出服务器(https://github.com/highcharts/node-export-server)。如果你想与文本交错,那么可能会生成一个包含所有项目的页面,并从浏览器内导出为PDF(IE浏览器速度较慢,但根据每个图表中的数据量而定,任何浏览器速度都可能较慢)。 – wergeld