iReport与JasperReport中如何支持文支持显示

原创 2011年01月11日 15:26:00

最近在使用grails开发程序,需要生成报表,我选择了用iReport与作为报表产生工具时, 在输入中文的时候总是无法正常显示,我的ireport的版本是3.7。后来经过网上查询自己测试,总结如下:

 

无法显示中文是因为ireport是使用itext来实现生成pdf的,其中又需要iTextAsian.jar 的支持。最新版本的iReport已经将iText和iTextAsian放在了安装目录的/report/modeues/ext/目录下,但是并没有关联上,需要做如下操作:

1、在“工具”--“选项”中选择“Classpath”,将以上两个模块包含进去;

2、在“工具”--“选项”中选择“Font”,在下面的pdf fonts path中将以上两个模块选中;

3、设置报表上各显示对象的相关属性,各属性设置说明如下:
    Font        name:    宋体 (中文字体)
    PDF font name:   STSong-Light
    PDF  Encoding:  UniGB-UCS2-H(Chinese Siplified)
    PDF   Embeded: √

下面内容为转载:

可能出现的问题
   经过以上的设置,报表中文的显示应该没什么问题了,笔者在报表的开发过程中遇到几个问题,现总结如下:
  3.1 问题描述
   在WinXp中运行iReport1.2.8,设计报表时将数据字段的字体设置成中文字体,调好格式后编译并运行,并使用JRViewer进行预览一切正常(中文显示正常),但使用PDF、Excel预览出现如下错误:
   Could not load the following font :
   pdfFontName   : STSong-Light
   pdfEncoding   : UniGB-UCS2-H
   isPdfEmbedded : true
   产生原因:成成PDF的亚洲语言包没有包含到项目中
   解决办法:将亚洲语言包iTextAsian.jar包含到项中,可能过iReport的”Options””Classpath”将iTextAsian.jar添加Classpath中或者直接将iTextAsian.jar复制到iReport安装目录下的lib中.若是Web项目则应该将iTextAsian.jar复制到此项目的WEB-INF/lib/中.
   3.2 问题描述
    在WinXp中运行iReport1.2.8,设计报表时将数据字段的字体设置成中文字体,调好格式后编译并运行,并使用JRViewer进行预览一切正常(中文显示正常),使用PDF、Excel预览时无任何错误,但中文无法显示(只显示空白).
    产生原因:报表显示对象的PDF字体属性设置不正确
    解决办法: 报表对象有关字体属性的设置如下:
    Font        name:         宋体 (中文字体)
    PDF font name:  STSong-Light
    PDF Encoding:   UniGB-UCS2-H(Chinese Siplified)
    PDF Embeded:  √
   即如下图所法
 
   3.3问题描述
    生成PDF、Excel文件时,中文显示一切正常,但生成Html文件时显示乱码
 产生原因:主要是网页编码问题
    解决方法
 在JSP页中生成Html时,设置 <%@ page contentType="text/html;charset=GB2312" %> 
 在Servlet中生成Html时,response.setContentType("text/html;charset=GB2312");
  若用户对项目进行了统一编码设定及过滤,则需要另作考虑,但主要还是集中在编码问题上.例如:笔者最近做的项目是其于Struts的,对编码进行了统一和过滤处理,生成Html页面时无需指编码就可正确生成Html页面,并不会出乱码,若设置成charset=GB2312反而出现了乱码.总之,对编码的统一与处理还是比较嘛烦的事.
    另外, 我们通过查看iReport生成的jrxml(<?xml version="1.0" encoding="UTF-8" ?>)文件可以发现, iReport保存的汉字都是UTF-8编码。了解它的编码可以有助于我们统一编码方式。



相关文章推荐

FineReport帆软报表和J2EE java web 应用的集成

FineReport是一个纯Java软件,因此对于J2EE的项目,可以做到无缝集成。 报表服务器并非物理概念的服务器,而是以一个标准的J2EE应用的形式或者jar包的形式提交给程序。应用程序通过...

JasperReport和springMVC整合开发小结

1.      报表开发流程 3.1 jar包引入,pom.xml文件添加依赖; 3.2               继承JasperReportsMultiFormatView类,并重写fil...

iReport与JasperReport中文支持全面解决

全面解决

iReport与JasperReport中文支持

1 运行环境     1.1 JasperReport    JasperReports是iReport的核心内容。它是一个强有力的开源报表产生工具,可以将内容输出到屏幕上、打印机或生成PDF, HT...

ireport jasperreport 主报表向子报表传递参数

主报表向它的自报表传递参数,如下: 1、新建主报表:main_report   2、创建子报表:sub_report     3、在子报表中声明要传入的参数:f...
  • lgh1117
  • lgh1117
  • 2015年07月30日 22:47
  • 5328

ireport+jsp基于jasperReport 实现(后台map数据源)导出报表至web页面 二

接上文。。

iReport+JasperReport实现数据库记录导出到html、excel、pdf文档

本文主要介绍使用iReport以可视化的方式来生成JasperReport所使用的报表格式文件,并通过JasperReport提供的API将数据导出到html、excel、pdf等格式的文件中。 ...
  • gm_163
  • gm_163
  • 2013年11月05日 09:39
  • 879

ireport+jsp基于jasperReport 实现(后台map数据源)导出报表至web页面

最近在网上搜索了好多报表编辑器,来实现导出为HTML,现在国内也有很多很好的付费软件,但对于需求不是很高的报表,用开源的也可以实现。 前提要素及工具: ireport 5.6.0; 因为我这里的需...

Java开源报表JasperReport、iReport4.5.1使用详解(一)

Java开源报表JasperReport、iReport4.5.1使用详解(一)           最近的项目中用到了报表,所使用的工具就是JasperReport4.5.1和iReport4...

利用JasperReport+iReport进行Web报表开发

用JasperReport+iReport进行Web报表开发 序言 在很多实际的项目里,报表都是其中十分重要的组成部分,例如把查询结果以报表的形式呈现出来。这里所提到的报表可不是简单的二维...
  • lyfxjt
  • lyfxjt
  • 2014年08月28日 14:56
  • 842
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iReport与JasperReport中如何支持文支持显示
举报原因:
原因补充:

(最多只允许输入30个字)