当前位置: 首页 > 工具软件 > iReport > 使用案例 >

ireport导出

申屠无尘
2023-12-01
一、ireport在导出日志过程中避免文字过长时显示问题:

1.在textfield的属性里面将stretch With OverFlow选上(最好是所有的textfield都选上,因为不不能确定每个
  textfield的值的高度对吧,这样可以以防万一),这个选项的意思是说:在内容过多时,会自动纵向拉伸

2.在stretch type中选择 relative to Tallest Object ,记住是每个textfield都这么设置,不然,就会出现,只   有你设置了这个属性的textfield会向下自动拉伸,其他的以自己的内容,自适应高度


二、

Jaspersoft iReport Designer 4.7.0 导出pdf 中文不显示的解决办法

版本:Jaspersoft iReport Designer 4.7.0

网上有很多文章说要去下载 iTextAsian.jar,其实这个版本里已经包含了这个包了。目录:D:\Jaspersoft\iReport-4.7.0\ireport\modules\ext

只需将这个包包含在iReport的classpath中,然后再进行适当的设置即可。 

步骤:

1:工具,选项,iReport,classpath,Add JAR,选择上述目录中的  iTextAsian.jar,我连iText-2.1.7.jar一起选择了,不知道到底需不需要,反正多了没坏处,有心的同学可以试一下。

2:在报表中,比如一个静态文本或者文本区域,选中它,在属性面板中“ text properties ” 分组中设置:

Font name: 宋体

PDF font name:   STSong-Light
PDF  Encoding:  UniGB-UCS2-H(Chinese Siplified)

PDF   Embeded: √ 

然后预览下导出pdf的显示效果。

3:别急,还没完,网上大部分文章到这里就结束了,但是如果你把报表放到你的网站中,你会发现,在网站中导出pdf时依然报错。找不到宋体之类的。解决办法:

将  iTextAsian.jar拷贝到WEB_INF\lib 中,然后将这个包添加到项目(网站)的Java Build Path中。到此,解决完毕。

 =========================================================================

原本以为到这里就结束了,其实以上部分仅仅是解决了在windows系统下的问题,如果将开发的网站部署到linux服务器上,可能仍然会遇到以下问题:

net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '宋体' is not available to the JVM. See the Javadoc for more details. 

解决办法:

1、把需要用到的字体(可以直接拷贝windows系统的C:\WINDOWS\Fonts 下的相关字体)拷贝当前项目的classpath下,一般为classes目录下 

2、在classpath里添加 jasperreports.properties 属性文件 

文件内容为: 

net.sf.jasperreports.awt.ignore.missing.font=true


 类似资料: