我想创建一个报告以打印多个地图图例。现在,我可以生成带有标题的报告,并且每个图例下面都有名称和图像。
但是所有图像的大小都被调整为具有相同的高度:容器带(Detail 2带)的高度。
我希望每个图像都有自己的高度,而不是带子的高度。
如何获得不同高度的图像?
我的报告是:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.6.0.final using JasperReports Library version 6.6.0 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="legend" pageWidth="555" pageHeight="802" columnWidth="185" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="6b65086b-74e0-4bec-834b-1b74d5ae2d31">
<property name="ireport.zoom" value="2.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<field name="name" class="java.lang.String"/>
<field name="icon" class="java.awt.Image"/>
<field name="level" class="java.lang.Integer"/>
<detail>
<band height="25" splitType="Prevent">
<printWhenExpression><![CDATA[!$F{name}.equals("")]]></printWhenExpression>
<textField isStretchWithOverflow="true">
<reportElement x="0" y="6" width="555" height="13" uuid="804c03e8-4edc-4888-8dba-0c683717bfeb"/>
<textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
</textField>
</band>
<band height="30" splitType="Stretch">
<property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.FreeLayout"/>
<printWhenExpression><![CDATA[$F{icon} != null]]></printWhenExpression>
<image scaleImage="RetainShape">
<reportElement positionType="Float" stretchType="ContainerHeight" x="0" y="0" width="555" height="30" uuid="067c1436-8c32-4bd6-9fd2-db394dc7366a"/>
<imageExpression><![CDATA[$F{icon}]]></imageExpression>
</image>
</band>
</detail>
</jasperReport>