
使用Rotativa,底层使用wkhtmltopdf 组件进行转换,使用过程中也遇到一些问题,记录下:
首先,如果页面中有资源文件,需要使用的路径问题,必须使用全路径,http://xxxxx。
其次,在导出pdf中,发现使用hightchart图表中,如果有中文,会进行unicode编码。
如下图所示:
所以必须在渲染之前对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;
}