历史版本13 :图表导出升级说明 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

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.17GLIBCXX_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)问题描述

设计器内设计图表时,图表的标签和图例都比较模糊,如下图所示:

Snag_6390c21.png

2)解决方案

这是由于设置了灰色背景导致的,换成白色背景即可。

Snag_63e34bf.png

4.2 不支持 html 解析

勾选了使用html解析文本内容,可能导致文本被截断等现象,如下图所示:

image2020-4-10_13-39-12.png

4.3 词云非默认形状错误

词云切换非默认形状或者上传一张图片,由于目前不支持图形路径,所以设计器中和导出时并不会按照该形状展示。如下图所示:

Snag_6627226.png

4.4 地图自定义 TileLayer 背景空白

地图 GIS 图层如果选择 TileLayer ,并且 URL 是一张图片时,在设计器中或导出时,地图背景为空白,不会显示那张图片,如下图所示Snag_6791aa0.png

4.5 其他问题

1)使用 canvas 导出,工具栏和交互控件不导出。

2)交互后导出或有缩放控件设置了边界,导出的是交互前或缩放前的图表。