- 症状
在两台版本相同的RedHat AS服务器上,应用服务器为JBoss AS 4.0.2,JDK版本1.5.07,同一应用中的同一JasperReport模板,使用一台服务器上的应用打印出报表的汉字刚好在单元格内,而使用另一台机器上的应用打印出报表中的汉字却出现错行的现象。
- 原因
经过反复检查,使用如下代码发现两台Linux服务器上安装的字体不一样;
public static void main(String[] args) {
java.awt.GraphicsEnvironment ge = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] fonts = ge.getAvailableFontFamilyNames();
for (int i = 0; i < fonts.length; i++) {
System.out.println(fonts[i]);
}}
- 解决方法
安装JasperReport中使用的汉字字体,也可以简单地将所需要的字体文件拷贝到/usr/share/fonts目录下;
本文介绍了解决JasperReport在RedHatAS服务器上打印报表时汉字错行的问题。通过对两台服务器字体配置的对比,发现字体差异是导致该问题的原因,并提供了具体的解决步骤。
1933

被折叠的 条评论
为什么被折叠?



