完成word转pdf的功能之后,本地测试没问题,然后发布到服务器上,就遇到了字体变乱的问题,如下:

由于我本地发布后导出没有出现同样情况,而服务器和本地的最大区别在于字体库,于是,把服务器上关于需要用的字体(仿宋)全部删除,导出时报错(SIMFANG.TTF不存在)。

可喜可贺,问题已精确定位到字体库上。把本地的仿宋常规字体复制出来,安装到服务器上,导出又出现乱码问题:

此时文字已经成为想要看到的仿宋,只是乱码- -!经联想,之前报错提示过SIMFANG.TTF不存在,于是把原字体删除,仿宋_GB2312重命名为SIMFANG.TTF后安装到字体库,问题解决!!

总结:

由于实现导出word报告并生成pdf的功能采用的技术是freemarker + aspose.word ,freemarker是将xml另存为doc,不能用openoffice做格式转换;ftl模板中存在关于字体的定义,“仿宋”在aspose中被解析为字库中的SIMFANG.TTF字体,此字体找不到时会报错,安装错误则默认为其他字体或导致乱码问题。