反饋已提交

網絡繁忙

伺服器安裝字體

1. 概述

1.1 問題描述

1)使用者在列印、匯出時,會出現與預覽結果不一致的情況。如:

  • 在 Linux 環境下,發現用戶端預覽是正常的,但是在匯出或列印時會出現亂碼,或者一些特殊符號如人民幣符號「¥」,在匯出或列印時發現變成了美元符號「$」。

  • 在 Linux 系統的用戶端,預覽或匯出的圖片亂碼。

  • Linux 下列印預覽,有重影。

  • Linux 伺服器匯出文字重疊。

  • 匯出 pdf 時圖表裏的中文變成框框。

  • 本來設定的字體是微軟雅黑,但是匯出來的 PDF 卻是宋體。

  • 插入斜線亂碼,斜線為方框。

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

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

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

5)範本在釘釘中預覽儲存格內容顯示不全,但是在瀏覽器中預覽正常。

6)工程預覽範本報錯:java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)

1.2 原因分析

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

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

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

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

2. 解決思路

解決思路一:給工程安裝字體

使用「字體管理插件」,給工程安裝字體。

字體僅對安裝配置了該插件的FineReport工程生效,對Linux/Windows伺服器中的其他工程/應用不生效

詳情請參見:字體管理插件

解決思路二:給伺服器設定中文語言環境,給伺服器、Tomcat、JDK安裝字體

注1:如果是預覽工程中的範本出現亂碼,需要檢查:

  • 工程所在伺服器(叢集工程,需要檢查每一個節點所在伺服器)

  • 預覽範本的用戶端裝置(電腦)

注2:如果是預覽設計器的範本出現亂碼,需要檢查:

  • 設計器遠端設計的工程所在伺服器

  • 設計器所在裝置(電腦)

附件列表


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

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙