centos 安裝字體 java生成文檔中文亂碼或提示未安裝字體錯誤

 

當使用java在生成pdf或者圖片時,如生成的文檔包含有中文在inux上運行,會出現未安裝字體的錯誤活字體亂碼,此時需要我們在服務器上安裝中文字體:

1、首先先看是否安裝中文字體:

fc-list :lang=zh

-bash: list-fc: command not found

如出現上邊提示,還未安裝相關字體的軟件包

請按如下安裝對應軟件包

yum -y install fontconfig     #安裝字體庫

yum -y install ttmkfdir mkfontscale  #安裝字體索引信息

安裝完後再次運行fc-list :lang=zh, 如果沒顯示任何信息,則表示沒安裝任何中文字體

3、上傳中文字體

在服務器的 /usr/share/fonts 下創建zh目錄, 創建命令如下

cd /usr/share/fonts

mkdir zh

在windows系統下進入C:\Windows\Fonts, 選擇想安裝的字體上傳至服務器,一般情況下是安裝微軟雅黑和宋體

我選擇 msyhbd.ttf 、msyh.ttf、simsun.ttc,一般安裝這三個字體足夠了,將這三個字體上傳至 zh目錄

4、生成字庫索引信息

上傳完字體後,進入zh目錄

執行如下:

cd zh

mkfontscale

mkfontdir

該命令在當前zh目錄下生成 fonts.dir  fonts.scale 兩個文件

5. 更新字體緩存

執行 fc-cache

6.再次上看是否安裝了中文字體 fc-list :lang=zh

會出現 以下類似信息

fc-list :lang=zh
/usr/share/fonts/zh/msyhbd.ttf: Microsoft YaHei:style=Bold,Félkövér
/usr/share/fonts/zh/simsun.ttc: NSimSun:style=Regular
/usr/share/fonts/zh/simsun.ttc: SimSun:style=Regular
/usr/share/fonts/zh/msyh.ttf: Microsoft YaHei:style=Regular,Normal

表示安裝成功過

7、重啓應用,切記要重啓對應的應用,我的是web應用,重啓tomcat,生成pdf成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章