Image 用Jasper报告的其他元素覆盖图像空白

Image 用Jasper报告的其他元素覆盖图像空白,image,jasper-reports,height,shift,Image,Jasper Reports,Height,Shift,我的图像高度为360px,宽度为900px。根据我的情况,有时图像将是空白的,因此它不会显示在PDF或EXCEL中 在这一点上,当图像不是他们的另一个元素时,根据其设置的“y”轴定位。因此形成了一个缺口 所以,当图像不是它们的元素时,如何将它们的所有其他元素的位置设置为顶部 <image isUsingCache="true" onErrorType="Icon"> <reportElement x="448" y="0" width="402"

我的图像高度为360px,宽度为900px。根据我的情况,有时图像将是空白的,因此它不会显示在PDF或EXCEL中

在这一点上,当图像不是他们的另一个元素时,根据其设置的“y”轴定位。因此形成了一个缺口

所以,当图像不是它们的元素时,如何将它们的所有其他元素的位置设置为顶部

<image isUsingCache="true" onErrorType="Icon">
                <reportElement x="448" y="0" width="402" height="300" uuid="d8d19734-1711-461d-bdb8-c8c7130a6eb2">
                    <printWhenExpression><![CDATA[($P{chartImg2}!=null ? true : false)]]></printWhenExpression>
                </reportElement>
                <imageExpression><![CDATA[$P{chartImg2}]]></imageExpression>
            </image>
            <textField>
                <reportElement style="REPORT_TITLE" mode="Opaque" x="0" y="320" width="850" height="30" uuid="aabbe2ed-96eb-4246-8bda-16187228c116">
                    <property name="com.jaspersoft.studio.unit.height" value="pixel"/>
                    <property name="com.jaspersoft.studio.unit.y" value="pixel"/>
                    <property name="com.jaspersoft.studio.unit.width" value="pixel"/>
                </reportElement>
                <textElement textAlignment="Center">
                    <font isBold="true"/>
                </textElement>
                <textFieldExpression><![CDATA[$P{campaign_name}+"- Links Report"]]></textFieldExpression>
            </textField>


所以,现在你们可以看到,图像的高度比文本字段的高度高300,文本字段的位置是320px,所以图像不是静止的,文本字段将在320px后显示。它在PDF中看起来很糟糕。所以我想知道,如果图像不是它们的,那么上面所有的元素都会移位。

我得到了问题的解决方案。您需要根据条件向框架中添加元素。在上面的问题中,图像可能存在,也可能不存在

所以在本例中,将此图像添加到帧中,并将其他元素更改为浮动。(所有元素中都有一个可用的属性positionType=“float”)


宾果游戏!!!问题已解决。

可能重复“否”,这与需要浮动的文本元素有所不同,请检查AlexK dupe的答案。