我使用 ireport 设计器设计了一个 jasper 报告,其中我在报告的标题中添加了徽标图像。此图像是从本地计算机上的硬编码路径添加的。我需要从我的项目类路径中添加徽标图像。为此,我在程序提供的报告中为图像创建了一个参数。
InputStream imgInputStream = this.getClass().getResourceAsStream("header.png");
HashMap<String, Object> parameters = new HashMap<String, Object>();
parameters.put("dateFrom", datum1);
parameters.put("dateTo", datum2);
parameters.put("logo", imgInputStream);
strQuery = "Select calldate,src,dst,duration,disposition,cdrcost from cdrcost where date(calldate) between '" + datum1 + "' and '" + datum2 + "'";
rs = conexiondb.Consulta(strQuery);
JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(rs);
//JasperPrint jasperPrint = JasperFillManager.fillReport(reportStream, parameters);
JasperRunManager.runReportToPdfStream(reportStream, fos, parameters, resultSetDataSource);
以下是报告中的图片片段:
<image>
<reportElement x="0" y="1" width="555" height="61"/>
<imageExpression><![CDATA[$P{logo}]]>
</imageExpression>
</image>