0 0

jasperreport 插入图片问题5

jasperreport+ireport做报表处理logon(处理图片显示的问题)
我为用ireport做报表要把公司的logon加在报表里,我图片加在报表里用ireport(html和其他的方式)预览能都能看到图片,但是.jasper加到jsp页面上不显示图片了,问题是当我保存为PDF和world能看到logon,就在jsp里看不到图片。

    设置图片是这样做的,我在ireport里设置了一个参数$P{mages}参数名为mages,参数的类型是数据流类型,在报表上放了一个图片框,图片框的路径不是得到图片的路径而是这个参数$P{mages}。是在jsp页面为这个个参数传入数据留,
String   imageRead   =   request.getRealPath( "WEB-INF/logon.jpg ");//获得图片路径File   imageFile   =   new   File(imageRead);
InputStream   imageIn   =   new   FileInputStream(imageFile);//图片一个数据流
parameters.put( "logo ",imageIn);//获得为图片设置的参数,把图片传给这个参数

这样为图片参数传值的,整个程序不报错,只是在jsp里看不到图片的效果,保存为其他的格式能看见这个图片。在jsp里右击不显示的图片属性看到的路径是:http://localhost:8083/servlets/imagesdir=img_0_0_1

请大家多多帮助。
2013年1月25日 16:05

1个答案 按时间排序 按投票排序

0 0

     1、在web.xml中添加如下配置:

                  <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、在调用程序中增加如下代码:

             exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image=");

             全部调用程序如下:

            <%@ page contentType="text/html;charset=GB2312"%>
            <%@ page import="net.sf.jasperreports.engine.*" %>
            <%@ page import="net.sf.jasperreports.engine.util.*" %>
            <%@ page import="net.sf.jasperreports.engine.export.*" %>
            <%@ page import="net.sf.jasperreports.j2ee.servlets.*" %>
            <%@ page import="java.util.*" %>
            <%@ page import="java.io.*" %>
            <%@ page import="java.sql.*" %>
     <%
               //  "/reports/test.jasper"是ireport编译后的报表文件
                File reportFile = new File(application.getRealPath("/reports/test.jasper"));
                if(!reportFile.exists())
                     throw new JRRuntimeException("报表绘制失败,找不到报表配置文件!");
               JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
             
               String url ="jdbc:jtds:sqlserver://127.0.0.1/test";
               Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
               Connection conn = DriverManager.getConnection(url,"sa", "");
               //null为无参数传入
               JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
         
              JRHtmlExporter exporter = new JRHtmlExporter();
              StringBuffer sbuffer = new StringBuffer();

              session.setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);

              exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
              exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
              exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image=");

              exporter.exportReport();
%>

2013年1月25日 16:19

相关推荐

    使用JasperReport输出image图像

    标题“使用JasperReport输出image图像”涉及到的关键技术点是JasperReport的图像生成和导出功能。在描述中提到的场景是,一个项目需要在文档中添加可识别的元素,比如条形码,然后将包含这些元素的文档作为图像保存...

    jasperreport

    6. **图片(Images)**:可以插入静态图片或者根据表达式动态生成图片,如二维码、条形码等。 7. **样式和模板(Styles and Templates)**:JasperReport提供丰富的样式定义,可以自定义字体、颜色、边框等,还可以...

    JasperReport 学习之路

    8. **Images**:介绍如何在报表中插入图片及其显示方式。 9. **Jasper**:展示分组分栏报表的制作过程,通过两次分组实现复杂的布局。 10. **JCharts**:类似Chart示例,但使用另一个开源API jCharts生成图形。 ...

    jasperReport详细教程及例子

    - **图像(Image)**: 可以插入图片,支持动态加载。 - **子报表(Subreport)**: 在主报表中嵌入另一个报表,用于分组或显示详细信息。 - **图表(Chart)**: 可以根据数据生成各种图表,如柱状图、饼图、线图等。 ...

    Jasperreport中文版.pdf

    用户还可以将报表元素进行插入、选择和定位,以形成所需要的报表布局。此外,可以设置报表的属性,例如报表的布局和打印格式,并且可以使用不同的表达式语言,比如Java、Groovy或JavaScript,以在报表中实现更复杂的...

    jasperReport学习资料

    4. **图像(Images)**:可以插入图片到报表中。 5. **子报表(Subreports)**:在一个报表中嵌套另一个报表,用于处理复杂布局。 6. **分组(Groups)**:根据字段值进行数据分组,每个组可以有自己的页眉和页脚。 ...

    jasperreport ireport开发java报表入门级教程(完整版).rar

    6. **图片(Image)**:插入图片,可以动态加载或静态显示。 【数据绑定与填充】 1. **数据源(Datasource)**:报表的数据来源,可以是Java集合、数据库查询结果、XML文件等。 2. **表达式(Expression)**:在...

    Jasperreport+ireport 实践操作及web应用

    矢量图的绘制直观易用,而位图的插入则更加灵活,可以导入图片文件到报表中。 3. 数据源和自定义数据源:数据源是报表设计的关键,JasperReport支持多种数据源,包括JRDataSource接口实现的自定义数据源。在实际...

    JasperReport+iReport报表工具详细开发手册

    - **图像**:用于插入静态图片。 - **图表**:用于插入图表,如柱状图、折线图等。 - **表格**:用于展示数据集合。 - **列表**:用于展示单行数据。 - **3.1.2. 设置数据源** 在设计报表前,需要为iReport...

    ireport+jasperreport联合开发java报表(PDF).rar

    通过ireport,开发者可以创建复杂的数据表格、图表、文本、图片等多种元素的报表,并能灵活调整布局和样式。 jasperreport则是ireport的后端引擎,它负责解析ireport设计的模板,并根据数据源填充内容,生成最终的...

    jasperreport入门

    ### jasperreport入门 #### 一、简介 JasperReports是一款开源报表工具,它能够将数据以直观的方式呈现出来,并支持多种数据源如JDBC、XML、CSV等。此外,JasperReports还提供了丰富的图表类型,包括条形图、折线...

    Ireport and JasperReport使用说明.doc

    - **图像**: 插入静态图片。 **4.2 使用链接** - **超链接**: 创建报表内的超链接,跳转到其他页面或外部资源。 **4.3 创建 SQL 查询语句** - **定义查询**: 使用 SQL 语句从数据源中提取数据。 **4.4 创建字段...

    jasperreport iReport用户手册(PDF)翻译:董岿

    - 插入图片到报表中,支持多种图像格式。 ##### 5.9 文本元素: - 插入静态文本或文本域到报表中。 ##### 5.10 静态文本: - 插入固定的文本内容。 ##### 5.11 文本域: - 动态显示数据的文本区域。 ##### 5.12 ...

    jasperreportexportimage.rar

    JasperReport提供了多种方法来实现这一点,包括直接插入图片资源、从数据库获取图像以及动态生成图像。 1. 直接插入图片资源: 在JasperReport的设计文件(.jrxml)中,我们可以使用`&lt;image&gt;`元素来插入图像。需要...

    ireport教程

    - **图片和图表**:IReport支持插入静态图片和动态图表,后者可以从数据源生成。 **4. JSP处理报表** 在Web应用中,通常使用JSP页面来调用JasperReport生成报表。`jsp处理报表部分(jasperreport).doc`文档可能...

    jfreechart中文文档和jar包

    报表设计者可以通过JasperReport的报表设计工具(如iReport)创建模板,然后在运行时动态填充数据并插入由JFreeChart生成的图表。 **JFreeChart简明教程.doc**: 这份文档可能详细介绍了JFreeChart的基本概念、安装...

    reports_0.1.4.zip_WEB开发_Java_

    6. **动态内容**:JasperReport支持动态插入图片、图表和其他复杂元素,可以根据数据的变化动态调整报表内容。 7. **Java API集成**:在Java应用中,可以通过JasperReport API来编译、填充和导出报表。例如,`...

    Jasper简单使用

    6. **Image**:插入图片。 7. **Subreport**:嵌入子报表。 8. **Crosstab**:交叉表。 9. **Chart**:图表。 #### 四、使用iReport编辑简单报表 1. **编辑前的准备**: - 确保安装了iReport软件。 - 准备好...

    ireport图文教程

    - **图片**:插入图片到报表中,支持动态加载。 - **子报表**:嵌套其他报表,实现复杂结构。 7. **样式与样式表** iReport允许用户自定义报表的样式,包括字体、颜色、边框等。同时,可以通过导入CSS样式表来...

Global site tag (gtag.js) - Google Analytics