将带有高位图文本区域的多个高级图表导出为多个PDF文件

时间:2016-08-29 08:47:23

标签: pdf highcharts

我想将带有textarea的多个highcharts导出到多个pdf文件。 如何将textarea的多个highcharts转换为多个pdf文件?

Rectangle rect = new Rectangle();
rect.setOnDragEntered(value -> {
    // Set the drag-over color here
});

rect.setOnDragExited(value -> {
    // Reset the original color here
});

rect.setOnDragDropped(value -> { 
    // Reset the original color here 
});

1 个答案:

答案 0 :(得分:0)

答案的第一部分在这里: Export Multiple highcharts with custom text into pdf

要回答第二个问题,请在评论中提及(关于打破行) - 您需要稍微更改一下代码。您可以使用 tspan 来破坏您的行。您还应该记住每个新行更改标签的宽度:

  Highcharts.getSVG = function(charts, texts) {
    var svgArr = [],
      top = 0,
      width = 0,
      txt,
      numberOfLines;
    Highcharts.each(charts, function(chart, i) {
      var svg = chart.getSVG();
      svg = svg.replace('<svg', '<g transform="translate(0,' + top + ')" ');
      svg = svg.replace('</svg>', '</g>');
      top += chart.chartHeight;
      width = Math.max(width, chart.chartWidth);
      svgArr.push(svg);
      txt = texts[i];
      value = $(txt).val().replace(/\n/g, '</tspan><tspan x="0" dy="1.2em">');
      numberOfLines = $(txt).val().split("\n").length;
      txt = '<text x= "' + 0 + '" y = "' + (top + 20) + '" styles = "' + txt.attributes.style.value + '"><tspan x="0" dy="1.2em">' + value + '</tspan></text>';
      top += 1.2 * 16 * numberOfLines + 20;
      svgArr.push(txt);
    });
    return '<svg height="' + top + '" width="' + width + '" version="1.1" xmlns="http://www.w3.org/2000/svg">' + svgArr.join('') + '</svg>';
  };

http://jsfiddle.net/6m2rneL8/35/