在Highcharts导出中使用A3页面
问题描述:
我正在将Highcharts图表和HTML表格导出为PDF,但是当我的表格很大时,它无法正确放置在PDF页面中。在Highcharts导出中使用A3页面
我使用导出PDF:
Highcharts.getSVG = function(charts) {
var svgArr = [],
top = 0,
width = 0;
$.each(charts, function(i, chart) {
var svg = chart.getSVG();
svg = svg.replace('<svg', '<g transform="translate(0,' + top + ')" ');
svg = svg.replace('</svg>', ' <h2 style="position: absolute; color: #333; right: 0px; width: 50%; top: 10px; text-align: center">' + titulo + '</h2></g>');
top += chart.chartHeight;
width = Math.max(width, chart.chartWidth);
svgArr.push(svg);
});
tabela = $("#mainTabela").clone();
top += tabela.height();
svgArr.push('<g transform="translate(0,' + top + ')">' + tabela.html() + ' </g>');
return '<svg height="'+ top +'" width="' + width + '" version="1.1" xmlns="http://www.w3.org/2000/svg">' + svgArr.join('') + '</svg>';
};
有出口时使用的A3页面的方法吗?或者只是使用更大的页面?表
例由不同的页面分为:
答
你可以设置自己的出口服务器和编辑highcharts-convert.js文件页面大小适应您的期望。
编号: - http://www.highcharts.com/docs/export-module/setting-up-the-server
答
的问题是,我得到了台克隆的高度,也就是0。所以我PDF的高度始终是图表高度,而忽略了表的大小。
我只是改变:
top += tabela.height();
为:
if($("#mainTabela").height() > top)
top = $("#mainTabela").height();
,它的工作现在