在Windows系统中,使用Spire转换文档时,结果文档正常,但是在Linux系统中,结果文档会出现乱码、方框或程序抛出字体缺失异常,如:Cannot found font[SansSerif] installed on the system。
工具/原料
电脑
Java程序
问题分析
1、这个问题是由于Linux服务器缺少字体所导致。Spire组件转换文档时需要从系统中寻找对应的字体绘制字形,如果系统中没有安装原文档中所使用的栓疠瑕愤字体,会先从系统已安装的字体中匹配能支持这个字形的字体,如果无法匹配出相应的字体,结果文档就会出现乱码或方框,或者程序会抛出“字体缺失异常”。
解决办法
1、若遇到此类问题,可以先确认原文档中使用了哪些字体,然后将这些字体或Windows中的所有字体安装到Linux系统。
查看和安装字体的详细指令
1、开启 root 权限。输入指令: su root ,不行时,需要先输入指令: sudo passwd root根据步骤输入密码,然后再重新输入指令: su root
2、将字体文件先放到某一个文件夹下。然后进入文件夹输入指令: cp simsun.ttc /usr/share/fonts/ ,依次输入下面的汜枸赓觅指令:mkfontscale //字体扩展mkfontdir //新增字体目录fc-cache-fv //刷新缓存
3、查看安装的字体文件。查看系统中的字体:指令:fc-list查看系统中的中文字体:指令:fc-list:lang=zh