JasperServer 图表中文乱码解决

本文介绍了解决JasperServer部署在Linux环境下图表中文乱码的问题。通过在Jaspersoft Studio中导入中文字体,并将其打包成jar部署到服务器,修改配置文件等步骤,实现了图表中文的正常显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JasperServer 图表中文乱码解决

问题描述

报表本地预览正常。上传到 Linux 服务器后,图表中的中文显示为“□”,其他地方中文显示正常。

问题原因

Jasper 图表生成使用了 JFreeChart,后者需要依赖本地字体。如果在 JasperServer 中找不到相应的中文字体,则会产生上述问题。

解决方式

可以将要用到的字体导入到 Jaspersoft Studio,在报表开发时使用这些定义的字体。然后通过该开发工具将用到的字体导出为 Jar 包部署到服务器中,即可解决该问题。具体步骤如下:

  1. 在 Jaspersoft Studio 中,通过 Window -> Preferences 进入 Preferences 窗口

    输入图片说明

  2. 通过 Jaspersoft Studio -> Fonts 进入 Fonts 设置页面

    输入图片说明

  3. 通过 Add From Path,选择路径将将用到的字体(.ttf 文件)导入到开发工具中。如果有多个字体,还可以添加一个 Set 字体集,方便使用

    输入图片说明

  4. 勾选要使用的字体或字体集,点击 Export,在指定位置导出为一个 jar 包

    输入图片说明

  5. 点击 Apply,OK,完成字体导入

    输入图片说明

  6. 开发图表时,将使用的字体全部选择为之前导入到开发工具中的字体,这些内置的字体会显示在一个分隔符上方(注意 Chart 和 Chart Plot 页签下的所有可以设置字体的地方都要这样处理)。改好之后重新发布到 JasperServer。

    输入图片说明

  7. 在服务器中,编辑 <js-install>\WEB-INF\classes\jasperreports.properties 文件,插入如下行:

    net.sf.jasperreports.web.resource.pattern.fonts=fonts/.*
    
  8. 将之前导出的字体 jar 包添加到 <js-install>WEB-INF\lib 路径下

  9. 关闭并重新启动 JasperServer。图表上的中文字体可以正确展示了!

    输入图片说明

转载于:https://my.oschina.net/YorkeCao/blog/872394

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值