gpt4 book ai didi

java - 如何在碧 Jade 报告中从项目类路径添加图像作为参数

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:27:28 27 4
gpt4 key购买 nike

我使用 ireport designer 设计了一个 jasper 报告,我在报告的标题中添加了 Logo 图像。此图像是从本地计算机上的硬编码路径添加的。我需要从我的项目类路径中添加 Logo 图像。为此,我为程序提供的报告中的图像创建了一个参数。

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>

最佳答案

我们总是传入图像而不是 InputStream。首先加载图像并在参数映射中设置它:

BufferedImage image = ImageIO.read(getClass().getResource("/images/IMAGE.png"));
parameters.put("logo", image );

然后参数定义如下:

<parameter name="logo" class="Object" isForPrompting="false">
<parameterDescription><![CDATA[The letterhead image]]></parameterDescription>
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>

当放在报告中时,它看起来像:

<image>
<reportElement x="324" y="16" width="154" height="38"/>
<imageExpression><![CDATA[$P{logo}]]></imageExpression>
</image>

关于java - 如何在碧 Jade 报告中从项目类路径添加图像作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13598655/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com