1. 概述
1.1 版本介紹
報表服務器版本 | JAR 包版本 | 功能變動 |
---|---|---|
10.0 | 2020-04-26 | - |
2020-09-29 | 支持導出圖片填充效果 |
1.2 問題描述
2020-04-26 及之後版本的 JAR 包,取消了使用 phantomjs 方案導出圖表,改用新方案導出。
FineReport 使用導出、定時調度、設計器内圖表展示功能時。若報表部署在 Linux 環境下,且 JDK 版本在 1.8 以下,則需要加載 J2V8 的 libj2v8_linux_x86_64.so,依賴相應版本的 GCC ,如果 GCC 版本過低,則會存在以下問題:
1)導出圖表空白,且模板有報錯信息:
"C library and JDK version do not meet the requirements, Please upgrade GBLIC to 2.17 And GLIBCXX to 3.4.19 or JDK to 1.8"
2)定時調度時,導出圖表空白,系統消息提示運行失敗,日志中報錯:
"C library and JDK version do not meet the requirements, Please upgrade GBLIC to 2.17 And GLIBCXX to 3.4.19 or JDK to 1.8"
那麽如何實現在 JDK1.8 以下且不含有 J2V8 的環境中可以正常使用圖表導出和定時調度功能呢?
注:即使用戶 JDK 版本在 1.8 以上, 也建議用戶優先考慮升級 GCC 環境方案。升級後導出性能會得到提升。
1.3 解決思路
升級 Linux 系統中的 GCC 版本,在圖表繪制時使用 J2V8 作爲 JS 運行環境。
2. 操作步驟
2.1 判斷是否需要升級
在升級前需要先确認當前系統中的 GCC 版本,使用如下命令,分别查看系統是否存在GLIBC_2.17和GLIBCXX_3.4.22 。
查看系統是否存在GLIBC_2.17:
strings /lib64/libc.so.6 | grep GLIBC
查看系統是否存在GLIBCXX_3.4.22:
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
若查看系統沒有對應 GCC 版本,則可按需考慮是否升級。
2.2 升級步驟
點擊下載升級工具:升級工具.zip,解壓升級工具,拷貝至非 usr 的任意目錄下,cd 進入該目錄,執行如下命令:
chmod 755 glibcxx_3.4.22.sh
chmod 755 glibc_2.17.sh
./glibcxx_3.4.22.sh
./glibc_2.17.sh
此處chmod爲腳本增加執行權限,./爲執行獲取的腳本。
執行命令後,系統即自動升級 GCC 的版本。
3. 升級風險
1)GLIBC
GLIBC 是 C 運行庫,是 Linux 系統中最底層的 API ( 包括 Linux 的各種命令都依賴於此庫 ),如果系統内有其他重要項目,請謹慎升級。( 對應的升級文件爲 glibc_2.17.sh )
2)GLIBCXX
GLIBCXX 是 C++ 運行庫,升級一般不會産生太大的影響,并且如果升級之後出現了問題,可以對版本進行回退。( 對應的升級文件爲 glibcxx_3.4.22.sh )
4. 常見問題
4.1 設計器内圖表标簽和圖例模糊
1)問題描述
設計器内設計圖表時,圖表的标簽和圖例都比較模糊,如下圖所示:
2)解決方案
這是由於設置了灰色背景導緻的,換成白色背景即可。
4.2 不支持 html 解析
勾選了使用html解析文本内容,可能導緻文本被截斷等現象,如下圖所示:
4.3 詞雲非默認形狀錯誤
詞雲切換非默認形狀或者上傳一張圖片,由於目前不支持圖形路徑,所以設計器中和導出時并不會按照該形狀展示。如下圖所示:
4.4 地圖自定義 TileLayer 背景空白
地圖 GIS 圖層如果選擇 TileLayer ,并且 URL 是一張圖片時,在設計器中或導出時,地圖背景爲空白,不會顯示那張圖片,如下圖所示
4.5 其他問題
1)使用 canvas 導出,工具欄和交互控件不導出。
2)交互後導出或有縮放控件設置了邊界,導出的是交互前或縮放前的圖表。