这是在使用过程中遇到的问题以及解决办法。
一.在html报表中图片的显示问题。
问题归结为两类,一是jasper自己给你配置的图片用来对齐用的。于是可以用
exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);
来不让图片作为占位符来对其解决。这样对于普通的没有自己嵌入图片的报表很好用。
但是我们往往会把自己的图片,如从jfreechart生成的图片也嵌入到自己的报表中。于是我们不得不从新审视,解决图片显示的问题。jasper是通过一个servlet类来显示图片的。而且我们也要指定一些jasper自动使用的图片放在一定的路径中。下面说解决配置。
(1) 在web.xml中配置servlet。
<!-- 为导出html类型的报表图片而加如的servlet 暂时还没有用到 -->
<servlet>
<servlet-name>ImageServlet</servlet-name>
<servlet-class>
net.sf.jasperreports.j2ee.servlets.ImageServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ImageServlet</servlet-name>
<url-pattern>/servlets/image</url-pattern>
</servlet-mapping>
(2) 在导出报表的java代码中设置属性类似如下:
//设置允许输出图片相关
//注意这里的设置和web.xml中的ImageServlet相关--(net.sf.jasperreports.j2ee.servlets.ImageServlet)
//图片请求路径
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,
"servlets/image?image=");
exporter.setParameter(JRHtmlExporterParameter.SIZE_UNIT, "pt");
//设置去哪个目录找报表自动配置的图片
//在这里我把jasper源文件目录net\sf\jasperreports\engine\images中的图片都
//复制到了我的web content目录下的images/report中。
exporter.setParameter(JRHtmlExporterParameter.IMAGES_DIR_NAME, request
.getSession().getServletContext().getRealPath("images/report"));
//session attribute是必须设置的,否则自己插入到报表中的图片将不会显示
request.getSession().setAttribute(
ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,
jasperPrint);
注意最后那个session的设置,使得我们从jfreechart生成的报表图像也得以显示,这点至关重要。其他的说明在注视中已经很详细。
二.
分享到:
相关推荐
**JasperReport 深度解析教程** JasperReport 是一款强大的开源报表工具,它允许开发者创建复杂的报表设计,并能够以多种格式导出,如 PDF、HTML、Excel 等。在本教程中,我们将深入探讨 JasperReport 的核心概念、...
**JasperReport——深度解析与应用指南** JasperReport是一款强大的开源报表工具,它允许开发者在Java应用程序中创建复杂的报表。作为一个基于纯Java的报表引擎,JasperReport能够处理多种数据源,包括数据库连接、...
**jasperReport 亚洲语言包** jasperReport是一款强大的开源报表工具,广泛应用于Java应用程序中,用于设计、创建和展示复杂的数据报告。然而,对于包含亚洲语言(如中文、日文、韩文等)的报告,jasperReport默认...
JasperReport Server 安装手册 JasperReport Server 安装手册是一份详细的安装指南,旨在帮助用户正确地安装和配置 JasperReport Server。下面是 JasperReport Server 安装手册的主要知识点: 一、准备材料 ...
**JasperReport 实例导入详解** JasperReport 是一个开源的报表工具,它允许开发者创建复杂的报告设计,并在各种应用程序中嵌入这些报告。在这个实例中,我们将探讨如何导入并使用一个可用的 JasperReport 示例项目...
### JasperReport报表设计总结 #### 一、JasperReport简介 JasperReport是一款非常流行的开源报表工具,它基于Java开发,能够将数据源中的数据转换为格式化文档,并支持多种输出格式,包括PDF、HTML、Excel等。...
JasperReport是一款强大的开源报表工具,它主要用于设计、创建和展示复杂的业务报告。在这个"jasperreport"的测试示例中,我们关注的是如何利用JasperReport进行基本操作。JasperReport支持多种数据源,包括数据库、...
标题“使用JasperReport输出image图像”涉及到的关键技术点是JasperReport的图像生成和导出功能。在描述中提到的场景是,一个项目需要在文档中添加可识别的元素,比如条形码,然后将包含这些元素的文档作为图像保存...
JasperReport是一款强大的Java报表工具,它允许开发者创建复杂、美观的报告,广泛应用于企业级应用的报表生成。在jasperReport中,动态合并单元格是一项重要的功能,它能够根据数据的特性和需求灵活调整表格的布局,...
**JasperReport 全面解析** JasperReport 是一个开源的报表工具,它允许开发者创建复杂的打印和交互式报告,支持多种数据源和输出格式,如 PDF、HTML、Excel、CSV 和 XML。JasperReport 提供了丰富的 API 和模板...
### JasperReport 学习之路 #### 一、简介与背景 JasperReport是一种基于Java的报表生成技术,它被广泛应用于企业级应用中用于生成复杂且格式化良好的PDF文档。对于初学者而言,掌握JasperReport的核心概念和技术...
**jasperReport测试例子** jasperReport是一款强大的开源报表工具,用于生成静态和动态的报表。这个测试例子是关于如何使用jasperReport进行报表设计和开发的实践代码和学习资源集合。通过这个测试项目,我们可以...
### jasperReport与Spring框架集成应用详解 #### 一、jasperReport简介及Spring环境配置 **jasperReport**是一款非常强大的报表工具,它能够基于Java环境生成多种格式的报表,如PDF、HTML、XLS(Excel)、CSV以及...
【JasperReport for Java Developer】是一本专注于Java开发者如何利用JasperReport库创建报表的教程。JasperReport是一个开源的报告生成库,它允许开发者设计、编写和展示复杂的业务报表,广泛应用于Java应用程序中...
**iReport与JasperReport简介** 在IT领域,报告生成是数据分析和业务处理的重要环节,而iReport和JasperReport正是在这方面发挥重要作用的工具。本文将深入探讨这两个工具的使用和概念,帮助读者理解它们的功能、...
JasperReport完整API 3.14
本主题将深入探讨如何利用JasperReport实现动态单元格合并,支持多层分组排序和多分组动态合并单元格。 首先,我们要理解JasperReport的基本概念。JasperReport是一个基于Java的报告设计库,它允许开发者通过JRXML...
JasperReport是一个强大的Java报告库,它允许开发者创建复杂、美观的报表,广泛应用于企业级应用中。在JasperReport中,子报表是用于在主报表内部嵌套其他报表的一个功能,可以用来组织和展示更复杂的结构化数据。...
《ireport+jasperreport API 报表开发指南》 在IT行业中,报表系统是数据分析和决策支持的关键组成部分。ireport和jasperreport是两款强大的开源报表工具,它们提供了丰富的API和设计工具,使得开发者能够创建从...
iReport+JasperReport柱状图开发指南 本文详细介绍了使用iReport和JasperReport开发柱状图的过程,包括确定数据源类型、开发数据源类、设计图表属性等步骤。作者分享了自己的实践经验,遇到的困难和解决方法,旨在...