我正在将Highcharts图表和HTML表格导出为PDF,但是当我的表格很大时,它无法正确放置在PDF页面中。
我使用以下方式导出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页面吗?或者只是使用更大的页面?
表格的示例除以不同的页面:
答案 0 :(得分:0)
您可以设置自己的导出服务器并编辑highcharts-convert.js文件,以使页面大小适应您的期望。
价: - http://www.highcharts.com/docs/export-module/setting-up-the-server
答案 1 :(得分:0)
问题是我得到了表克隆的高度,即0。所以我的PDF的高度始终是图表高度,忽略了表的大小。
我刚改变了:
top += tabela.height();
有:
if($("#mainTabela").height() > top)
top = $("#mainTabela").height();
它现在正在工作