Java 透過aspose.words 把docx檔案轉成pdf檔案後中文變成小方塊,aspose轉pdf亂碼問題的解決方法

oktokeep發表於2024-09-07

Java 透過aspose.words 把docx檔案轉成pdf檔案後中文變成小方塊,aspose轉pdf亂碼問題的解決方法

一、問題描述
​ 在centos伺服器使用aspose.word轉換word檔案為pdf的時候顯示中文亂碼,但是在win伺服器上使用可以正常轉換

二、問題原因
由於linux伺服器缺少對應的字型檔導致檔案轉換出現亂碼的

三、解決方式
1.將window中字型(c:\windows\fonts)放到linux中,上傳至/usr/share/fonts/chinese目錄下
將本地的fonts目錄複製到桌面,然後打包fonts.zip檔案。
登入到linux伺服器,cd 到 /usr/shared/fonts/ 目錄,如果沒有chinese目錄,則執行mkdir chinese建立目錄。
rz 上傳fonts.zip到chinese目錄
unzip fonts.zip 解壓縮到chinese目錄。


在aspose程式碼中新增,經過測試,如下程式碼可以不用設定。
// FontSettings.getDefaultInstance().setFontsFolder("/usr/share/fonts/chinese", true);

2.登入linux伺服器,檢視系統中包含哪些字型
fc-list

將fonts上傳到/usr/shared/fonts/chinese後,再次執行fc-list命令

重新整理記憶體中的字型快取
fc-cache

相關文章