本人使用的Ofbiz的版本为17.12.01。
中文乱码是因为使用的Fop模板中引用的字体不支持汉字造成的。
操作如下:
1、在系统中找到新宋体的字体文件,默认在c:\windows\fonts文件夹下。若文件扩展名为ttc,即表明此文件是多个字体文件的合集。可以搜索ttc to ttf convert online,在网站上在线将TTC转为TTF。
2、在ofbiz的fop.xconf文件中,看到 <renderer mime="application/pdf">下面的Fonts节中的文件夹路径为<directory>framework/resources/fonts/NotoSans</directory>。所以将上步生成的TTF文件复制到该目录下。
3、在fop.properties的属性文件中,将fop.font.family属性改为SimSun,表示为新宋体。
4、默认操作就完成了。但很多文件的FOP中,明确指定了字体,没有使用默认的,所以需要去手工修改下,比如订单报表打印中的OrderPurchaseReportPayment.fo.ftl文件,第41行明确指定了字体,此时需要手工修改为新宋体:
<fo:flow flow-name="xsl-region-body" font-family="SimSun">