今天将工程部署至服务器,抛出了如下异常:
Caused by: class com.aspose.cad.internal.Exceptions.InvalidOperationException: Required font \'romant\' style \'Regular\' cannot be loaded. Cannot find any fonts installed on the system.
大意为:无法加载所需的字体“romant”样式“Regular”。找不到系统上安装的任何字体。
报错的接口大致业务是使用Aspose将用户上传的CAD文件(.dwg文件)转换为.svg格式文件,交给前端展示。
根据异常信息联想到去年用Aspose转PDF时,遇到的汉字显示为方块问题。所以怀疑是服务器未安装字体导致。
登录服务器,执行 fc-list
证实了我的想法。
解决方法:
-
下载.ttf系统字体文件(或直接使用windows自带字体),上传至服务器
/usr/share/fonts/
目录下。 -
扫描字体目录,生成字体信息缓存
fc-cache /usr/share/fonts/
- 如果提示
fc-cache: command not found
则先执行yum install fontconfig
- 如果提示
-
重启工程服务,问题得以解决。