文档章节

ireport报表中无法识别的生僻字的使用图片代替

文文1
 文文1
发布于 2016/07/19 09:59
字数 584
阅读 84
收藏 0

在利用ireport输出报表的时候,有些生僻字无法处理,报的异常为--->数组下标越界

在网上查找了相关资料,没有找到解决办法,实在没辙了,只能使用图片代替了...

步骤:(假设在模板中放入生僻字的是一个static text文本元素)

1.把生僻字用正常的字代替,然后输出报表,导出excel表格

2.在excel表格中把正常的字用原来的生僻字代替,再利用QQ截图,保存为JPG的格式(在excel中截图清晰些,该截图的大小和放入生僻字的static text文本元素的大小有一致)

3.删除放置生僻字的static text元素,并且在static text的位置放入图片元素image,它会弹出一个对话框让你选择图片,选择刚才的QQ截图

4.经过上面三个步骤之后,新的模板就生成好了,接下来看效果,发现改图片可以在PDF预览中正常显示,导出的excel中也能正常显示

5.因为放入的图片是在本地,所以需要把该图片放入到服务器上去,因为我的工程为MAVEN工程,所以把图片和项目放在一起,放置路径为:

java Resource--->src/main/resource--->image--->title.jpg

6.在jrxml模板中使用xml视图,CTRL+F,查找jpg,会找到在模板中放入本地的QQ截图

​<imageExpression><![CDATA["C:\\USER\\title.jpg"]]></imageExpression>

​

把该图片去掉,换成变量名$P{path},修改之后为

<imageExpression><![CDATA[$P{path2}]]></imageExpression>

7.在模板中加入parameter参数:path

8.在java后台放入模板参数,java代码如下:(给模板加入参数的代码可能会有所不同,只要达到给模板添加可识别的参数path就可以了)

 String path = "";
 if(this.getClass().getClassLoader().getResource("image/title.jpg") != null){
      path = this.getClass().getClassLoader().getResource("image/title.jpg").getPath();
 };
 param.getParameters().put("path",path));

可以在eclipse中DEBUG测试一下,如果path不等于null,表示 能够在项目中能够正确的找到图片,如果为null,则表示图片放错地方了...   

9.编译MAVEN工程,测试报表即可        

© 著作权归作者所有

共有 人打赏支持
文文1
粉丝 23
博文 394
码字总数 126421
作品 0
长沙
程序员
私信 提问
iReport Designer 3.7.0 发布

iReport是用于定义JasperReport报表的可视化工具,JasperReport使用XML来定义一个报表的结构,iReport可以让用户很方便地定义报表,而不需要手工去写这些XML文件。 该版本完全支持 JasperRe...

红薯
2009/12/10
3.3K
0
NetBeans和iReport的教程。

NetBeans和iReport的教程。 在iReport使用表组件。 在iReport中使用JPA查询更容易比经典SQL查询。 SAF教程:查找表。 如何使用iReport插件在NetBeans中。 NetBeans的计算列SAF。 NetBeans 6...

liango
2012/11/12
0
0
iReport+JasperReport实现数据库记录导出到html、excel、pdf文档

本文主要介绍使用iReport以可视化的方式来生成JasperReport所使用的报表格式文件,并通过JasperReport提供的API将数据导出到html、excel、pdf等格式的文件中。 在这里iReport的使用版本为iRe...

Jialy
2013/04/15
0
3
如何将IDAutomation条形码集成至iReport Designer

本教程主要介绍如何使用Dynamic Barcode Generator Service将线性条码集成到Jaspersoft iReport Designer中。iReport Designer是一款开源的报表设计器,可与JasperReports和JasperReports S...

flyingsnail
2014/05/05
0
0
iReport+jasperReports制作WEB报表

JasperReports介绍 JasperReports是一个强大的,灵活的报表生成工具,能够生成 PDF,WORD,EXCEL,HTML,XML格式的报表。JasperReports的开发是由一份XML格式的报表模板文件开始的,设计好这个 ...

hchen1982
2011/08/01
0
1

没有更多内容

加载失败,请刷新页面

加载更多

想问一下C++里queue要怎么遍历

如题,想知道怎么遍历<queue>对象的元素? 貌似不能遍历。要么全部pop push一遍,要么换个容器呗。 queue是先进后出的数据类型,只能不断读top()然后再pop()掉。故意把遍历操作隐藏掉了,...

shzwork
昨天
2
0
Ubuntu 18.04.2 LTS nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic)

平台:Ubuntu 18.04.2 LTS nvidia-docker2 版本:2.0.3 错误描述:在安装nvidia-docker2的时候报dpkg依赖错误 nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic) 先看一下依......

Pulsar-V
昨天
2
0
学习笔记1-goland结构体(struct)

写在前面:若有侵权,请发邮件by.su@qq.com告知。 转载者告知:如果本文被转载,但凡涉及到侵权相关事宜,转载者需负责。请知悉! 本文永久更新地址:https://my.oschina.net/bysu/blog/3036...

不最醉不龟归
昨天
3
0
【转】go get命令使用socket代理

由于某些不可描述的原因,国内使用go get命令安装某些包的时候会超时导致失败,比如net包、sys包、tools包等。第一种解决办法就是自己从git上下载后添加链接到GOPATH中,比如: 1234...

yiduwangkai
昨天
6
0
从上往下打印出二叉树的每个节点,同层节点从左至右打印。

//第一种做法 public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList <Integer> li=new ArrayList<Integer>(); ArrayList <TreeN......

南桥北木
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部