反饋已提交

網絡繁忙

伺服器安裝字型

一、概述

1
問題描述。
  1. 使用者在列印、匯出時,會出現與預覽結果不一致的情況。如:
    ①在 Linux 環境下,發現用戶端預覽是正常的,但是在匯出或列印時會出現亂碼,或者一些特殊符號如人民幣符號【¥】,在匯出或列印時變成了美元符號【$】;
    ②在 Linux 系統的用戶端,預覽或匯出的圖片亂碼;
    ③Linux 下列印預視,有重影;
    ④Linux 伺服器匯出文字重迭;
    ⑤匯出 pdf 時圖表裏的中文變成框框;
    ⑥本來設定的字體是微軟雅黑,但是匯出來的 PDF 卻是宋體;
    ⑦插入斜線亂碼,斜線為方框。

  2. 在本地設計器工程下預覽字體正常,儲存在伺服器上,透過伺服器預覽時,效果和設計器工程預覽不一致。

  3. 在 Linux 系統中出現報表斜線丟失。

  4. Linux 系統中,在主報表中插入子報表,如果子報表有中文,那麼在主報表中顯示的時候會出現中文亂碼,但主報表其他部分或者子報表單獨存取的時候中文並不會亂碼。

2
原因分析。
  1. 用戶端匯出或者列印時,字體使用的是伺服器的系統字體和伺服器依賴的 JRE 下的字體,若伺服器沒有設計器設計時選用的字體,則會出現亂碼或者字體被更換的問題。

  2. 設計器設計報表時,使用的是設計器所在裝置本地系統的字體,儲存在伺服器上後,若伺服器沒有設計器設計時選用的字體,則會出現預覽不一致的問題。

  3. 對於 Linux 系統 Java 在 drawString 的時候,可能會沒有對應的字體,此時就會出現斜線丟失的情況。

  4. 在使用插入子報表時,實際上是在伺服器端事先畫好圖片,當用戶端發出請求存取主報表時,再去呼叫已畫好的圖片。當插入的子報表中含有中文的時候會呼叫工件系統中的語言包,如果 Linux 中沒有安裝中文語言包會導致出現亂碼現象。

3
解決思路。
  1. 伺服器安裝缺失的字體包。

注1:伺服器安裝後,如果要在用戶端瀏覽器預覽時也顯示出字體效果,用戶端系統也必須安裝該字體。

注2:叢集環境下,需要在所有節點安裝缺失的字體。

二、確認缺失字體

  1. 查看有問題的字體部分,確認可能缺失的字體。例如缺失黑體,如下圖所示。

注:10.0.16 及之後的版本支援製作範本或預覽範本時對使用的字體進行檢查,如果不包含對應字體,會提示使用者缺失的字體。詳細內容可參考:字型缺失檢測

 

页面_29.png

 

三、Linux 系統如何安裝

1
檢查中文語言包。
  1. 檢查系統中是否有字體包 【zh_TW.UTF-8】 ,查看系統預設語言是否為 【zh_TW.UTF-8】 ,輸入指令:【locale -a | grep zh_TW】,如下圖所示。

  2. 若不是,安裝中文語言包以及設定系統預設語言的方法請參見:Linux 系統安裝中文語言包

 

页面_29 (1).png

 

2
安裝缺失字體。
  1. 使用【 fc-list 】查看字體庫,如下圖1所示。若提示:【-bash: fc-list: command not found】,使用 【yum -y install fontconfig】語句後,再次查看字體庫。

  2. 在 【/usr/share/fonts】目錄下建立一個目錄 【chinese】,把本地 Windows 系統 【C:\Windows\Fonts】 中的字體,上傳到 【/usr/share/fonts/chinese】目錄下。例如上傳【Adobe 黑體 Std 標準】字體,如下圖2、圖3所示。

  3. 修改chinese檔案夾權限,輸入指令:【chmod -R 755 /usr/share/fonts/chinese】。如下圖4所示。

  4. 執行如下代碼塊所示命令。若執行 【mkfontscale】後,提示 【mkfontscale: command not found】,需執行該命令進行安裝:【yum install mkfontscale】。

  5. 執行命令:【fc-list | grep simhei.ttf】 ,查看是否安裝成功,如下圖5所示。

 

image.png

 

image (1).png

 

8.png

 

image (2).png

 

image (3).png

 

cd /usr/share/fonts/chinesemkfontscale #字體擴展。mkfontdir #新增字體目錄。fc-cache -fv #重新整理快取,或者執行。fc-cache /usr/share/fonts/chinese/fc-list #查看系統字體。

 

3
重啓工程。
  1. 字體安裝好後,重啓工程。預覽、匯出、列印時就會顯示出對應的字體。

四、Windows 系統如何安裝

1
确認缺失字體。
  1. 查看有問題的字體部分,确認可能缺失的字體。例如缺失黑體,如下圖所示。

  2. 10.0.16 及之後的版本支持制作模板或預覽模板時對使用的字體進行檢測,如果不包含對應字體,将提示設計者或者使用者,設計者或者使用者即可不用自己查找缺失的字體。詳細内容可參考:

2
安裝缺失字體.。
  1. 確認伺服器 【C:\Windows\Fonts】 檔案夾中沒有對應字體後,將下載的字體匯入到 【C:\Windows\Fonts】 檔案夾中,或者直接在系統的字體設定中安裝。若系統中沒有,直接在 【C:\Windows\Fonts】檔案夾中匯入字體。如下圖所示。


image (4).png

 

3
重啓工程。
  1. 字體安裝好後,重啓工程。預覽、匯出、列印時就會顯示處對應的字體。

注:字體安裝好後,若遇到讀取不到字體的情況,可以將字體copy到伺服器 【JDK_HOME/jre/lib/fonts】 目錄下,重啓工程所在的容器。

 


 


附件列表


主題: 部署集成
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙