ireport的中文支持

  在使用iReportJasperReport作为报表产生工具时,中文支持是经常遇到的问题,我最近做的一个J2EE Web项目采用这套工具开发报表,也遇到了类似问题,本文总结了在使用iReportJasperReport开发报表时中文支持的有关内容,希望能对读者有所一定的帮助。

我在项目中用到的是.jsper文件,也就是在iReport中把编辑好的文件直接来用啦!所有在项目就用到了3个包:JasperReport1.3.4.jariText1.3.1.jariTextAsian.jar

  设置中文支持

为了在报表中能够显示中文,加入以上三个包还不够(因为以上三个包仅对报表生成及中文显示提供了支持),必须设置报表上各显示对象的相关属性,各属性设置说明如下:

Font Name:     宋体

PDF Font Name:STSong-Light

PDF Encoding:  UniGB-UCS2-H(Chinese Simplified)

如图:

注意:此三项的设置必须确保iTextAsian.jar亚洲语言包已经包含在项目中,否则出现编译错误

可能出现的问题

1、问题描述

在WinXp中运行iReport2.0.0,设计报表时将数据字段的字体设置成中文字体,调好格式后编译并运行,并使用JRViewer进行预览一切正常(中文显示正常),但使用PDF、Excel预览出现如下错误:

Could not load the following font :

PDF Font Name   : STSong-Light

PDF Encoding   : UniGB-UCS2-H

isPdfEmbedded : true

产生原因:形成PDF的亚洲语言包没有包含到项目中

解决办法:将iTextAsian.jar添加Classpath中或者直接将iTextAsian.jar复制到iReport安装目录下的lib中.若是Web项目则应该将iTextAsian.jar复制到此项目的WEB-INF\lib\中.?:将亚洲语言包iTextAsian.jar包含到项中,可能过iReport的”Options”

2、问题描述
在WinXp中运行iReport2.0.0,设计报表时将数据字段的字体设置成中文字体,调好格式后编译并运行,并使用JRViewer进行预览一切正常(中文显示正常),使用PDF、Excel预览时无任何错误,但中文无法显示(只显示空白).

产生原因:报表显示对象的PDF字体属性设置不正确

解决办法: 报表对象有关字体属性的设置如下:

Font Name:      宋体

PDF Font Name: STSong-Light

PDF Encoding:  UniGB-UCS2-H(Chinese Simplified)

PDF Embeded:   √

3、问题描述

生成PDF、Excel文件时,中文显示一切正常,但生成Html文件时显示乱码

产生原因:码有问编题

解决方法:

exporter.setParameter(JRExporterParameter.OUTPUT_WRITER,out);

我改成:OutputStream out= response.getOutputStream();

exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,out);

发现OutputStream不会出现乱码

4、问题描述

生成Html文件时部分列没有显示;

产生原因:可能是text的border的设置有问题;

解决方法:重新设置每个text的border,不要让相邻的元素之间出现重叠;

你可能感兴趣的:(ireport的中文支持)