今天將工程部署至服務器,拋出了如下異常:
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
- 如果提示
-
重啟工程服務,問題得以解決。
