一、建立iReport项目 mainFrame。
二、用iReport制作打印模板.
1、新建.jrxml
1)把长宽设置成和要打印文件大小相等,各边界值设为0。
2)右键properties把detail的值设为和要打印文件一样,其余的全设为0。(注意:每项设置后鼠标要点击下空白地方,否则设置不会成功。)
3)加图片,并把图片地址改为相对url。
4)在 预览->报表字段 中添加字段。(注意:批量打印在fiels里添加,单独打印在paramenters里添加。)
5)把报表字段里的字段托到图片上。(注意:把所有的字体改为宋体,blank when null勾上。
6)设置编译路径,并编译。
2、修改代码。
1)jsp里修改
(注意:<%@ include file="/lemis/common/lemisjs.jsp"%>的位置)
(1)main.jsp里修改:
(2)edit.jsp里修改
2)配置文件里修改:(注意:要把作用域改为session)
(1)main里加
<set-property property="param(preparePrint)" value="preparePrint" />
<set-property property="param(getPrintResult)" value="getPrintResult" />
(2)edit里加<set-property property="param(getPrintResult)" value="getPrintResult" />
3)action里修改:(注意:main里是QueryActionForm cForm = (QueryActionForm) form;edit里是CommonActionForm cForm = (CommonActionForm) form;)
(1)main里加3个方法
protected String generateReport(BaseActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response,
UserSession us, List list, Map map) throws Exception {
QueryActionForm cForm = (QueryActionForm) form;
DTO dto = cForm.getDtoObject();
WbEmployBpo wbBpo = (WbEmployBpo) us.getService("wbEmployBpo");
List keys = getSelectKeys(cForm);
ArrayList printList = new ArrayList();
for (int i = 0; i < keys.size(); i++) {
Key key = (Key)keys.get(i);
WbemployDomain wbDomain=new WbemployDomain();
wbDomain = (WbemployDomain) wbBpo.getDomainObjectByKey(key);
printList.add(wbDomain);
}
list.addAll(printList);
String file = "";
file = "config/jaspermodelprint/wb/empprint.jasper&config/jaspermodelprint/wb/empprint.jasper";
return file;
}
(2)editAction里加一个方法
public String generateReport(BaseActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response,
UserSession us, List list, Map map) throws Exception {
CommonActionForm cForm = (CommonActionForm) form;
DTO dto = (DTO) cForm.getDtoObject();
map.put("cardid", dto.get("cardid"));
map.put("carddate", CalendarUtil.stringToDate(dto.get("carddate").toString()));
map.put("cardorg", dto.get("cardorg"));
map.put("aac002", dto.get("aac002"));
String file = "";
if ("1".equals(dto.get("viewbackground"))) {
file = "config/jaspermodelprint/wb/empedit.jasper&config/jaspermodelprint/wb/empedit.jasper";
} else {
file = "config/jaspermodelprint/wb/empeditprint.jasper&config/jaspermodelprint/wb/empeditprint.jasper";
}
return file;
}
3.打印位置修改
1)在config/config/jaspermodelprint/position下加mianprint和editprint两文件,像一定素要指定好要与要打印的文件一致。
2)在jsp里加<layout:button value="修改打印位置[F]" accesskey="F" styleClass="button" onclick="open_url('../../common/report/alterPosition.do?reqCode=init&file=ditprint/mainprint',文件的长,文件的宽);" mode="D,D,N" />
三、注意
1、我们采用ireport做的jasper模板文件,有宽度和高度,如果要调整打印位置,则需要在config/jaspermodelprint/position中建一个文件,文件名与打印的jasper模板文件同名,内容为:文件名:宽度:高度。这里的宽度和高度应该与jasper模板的宽度和高度一致。
如果position中的文件的宽度和高度 大于jasper模板的宽度和高度,则调整打印位置时,虽然看起来没有出边界,但实际上已经出了jasper模板的边界,那么就打印不出来,应用服务器CPU资源占用100%,必须重启应用服务器。
2、date处理。要用CalendarUtil.stringToDate。
分享到:
相关推荐
iReport 报表、子报表、主从报表、合计、实例解析1....4.2.2. iReport子报表SubReport(例:批量打印报表)... 13 4.2.3. iReport table类型的表单(例:押金报表)... 21 4.2.4. Dorado7中iReport的配置... 24
ireport设计打印报表工具 iReport-0.3.2.zip
本案例是SpringBoot结合iReport做的打印,直接在浏览器上面显示PDF,建议在Eclipse+Maven上部署运行,启动方式与SpringBoot启动方式一样,特别注意:如果你使用的SpringBoot版本比较新,相关jar包会有所不同。
SpringMVC+iReport多张报表连续输出案例
iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器采用纯Java开发。这个工具允许用户可视化编辑包含charts,图片,子报表等的复杂报表。iReport 还集成了JFreeChart图表制作包。允许用户可视...
一个简单的JSP制作SQL2008+Ireport项目源码打包,其中的项目中的report自行用ireport5.6制作报表文件。环境为jdk1.6+eclipse 6.0,开发工具myeclipse。index.jsp传参给print.jsp打印pdf报表。相关字段在ireport中需要...
ireport报表开发指南,提供打印预览的功能,提高开发效率
使用ireport和struts2进行报表设计的简单示例,生成普通报表和饼图、柱状图。java工程的lib里包含丰富的jar包,且很多都是从各个网站下载的最新版本,文件夹内还包含一些ireport和jasperreport文档,适合刚入门学习...
iReport报表制作详解 详细介绍了iReport的结构、元素、属性、和子报表,交叉报表的制作
使用JasperReports和ireport打印pdf格式的报表的简单例子,含源码,带注释一看就懂。
本报表在jasperreports-5.6.0基础上增加以下功能; 1、 表头固定 2、 列的隐藏及显示 3、 列的固定 示例代码可正常运行、本代码为非正式版
它有一个相关的开源工程--IReport,这是一个图形化的辅 助工具,主要用于数据报表设计。JasperReports 完全是由 Java 写成,可以应用于 Java 的应用 程序,包括 J2EE,Web 应用程序中生成动态内容,它主要目的是辅助...
解决掉ireport1.3.2报表打印pdf字体加粗失效的jar包,jasperreports-1.3.2
ireport图文教程。
最近在搞国产化报表,使用Ireport技术。开始发现生成pdf中文输出有问题。请教大神写了一个demo,附有详细说明文档,分享一下。
网上资料都是3.0的打印,但是我们用4.5做的报表模板用3.0的库去打印难免会出现问题,比如说4.5中有Table组件而3.0版本中没有,如果使用3.0的库去打印必然是出现问题的。为解决这一问题精心设计了这个小程序。 程序很...
java使用iReport打印报表依赖的jar包
IReport报表制作概述.doc
struts+ireport报表在页面显示,导出 word \excel\pdf格式 报表的打印 经过测试绝对没问题,
java技术中ireport报表制作及其打印