JasperReport中汉字在不同服务器上打印效果不同的解决方法

  • 症状

 在两台版本相同的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目录下;



你可能感兴趣的:(java,应用服务器,linux,jboss,redhat)