我已经创建了某些极坐标图,并且要求将所有结果导出为一个pdf。这些极坐标图在一定间隔内被渲染到同一容器中。因此,我以3秒的间隔使用setInterval,并在setInterval方法中填充了图表。现在,我需要将所有这12个图表导出为一个pdf。
var i=0;
var interval = setInterval(function() {
let data1= [];
let data2= [];
let data3= [];
let datetime= [];
//These arrays are filled with some logic in this part
this.populateFiveMinSpider(data1,data2,data3,datetime);
i++;
if(i === 12) {
clearInterval(interval);
}
}
}, 3000)
}
我尝试在加载后将每个图表保存到本地,然后单击“下载”按钮,从服务器端(java)将所有本地文件合并为一个pdf。但这只是在本地创建文件,而无需单击按钮下载。而且,在加载每个图表之后,都会出现可见的下载栏,这并不符合要求。
events: {
load: function () {
var chart = this;
setTimeout(function () {
// EXPORT THE CHART HERE
chart.exportChart({
type: 'application/pdf',
filename: 'my-pdf'+date,
sourceWidth: 1100,
sourceHeight: 600,
scale: 1,
});
}, 1000);
}
}
此代码用于下载单独的pdf。然后,我尝试获取pdf而不用getPDF()方法下载。
只需单击一下,帮助我下载这些文件。任何帮助表示高度赞赏。
整个过程可以通过JavaScript完成。您可以在SVG中创建一些图表布局,然后将其导出为PDF:
$('#export-pdf').click(function() {
Highcharts.exportCharts([chart1, chart2, chart3, chart4], {
type: 'application/pdf'
});
});
实时演示: http://jsfiddle.net/BlackLabel/v0p6hce8/
有用的线程: https://www.highcharts.com/forum/viewtopic.php?t=40493