Rotativa 转换html 为pdf时遇到的问题

时间:2023-03-08 23:38:40
Rotativa 转换html 为pdf时遇到的问题

使用Rotativa,底层使用wkhtmltopdf 组件进行转换,使用过程中也遇到一些问题,记录下:
首先,如果页面中有资源文件,需要使用的路径问题,必须使用全路径,http://xxxxx。
其次,在导出pdf中,发现使用hightchart图表中,如果有中文,会进行unicode编码。

如下图所示:

Rotativa 转换html 为pdf时遇到的问题

所以必须在渲染之前对unicode码进行转换,换成中文即可
得到数据之后进行转换

 for (var i = 0; i < series.length; i++) {

 series[i]["name"] = Unicode2Native(series[i]["name"]);

 }

转换函数:

 function Unicode2Native(origCode) {
  var code = origCode.match(/&#(\d+);/g);
  if (code == null) {
    return origCode;
  }
  var result = "";
  for (var i = 0; i < code.length; i++) {
    result += String.fromCharCode(code[i].replace(/[&#;]/g, ''));
  } 11   return result;
}