由Jasper Report的其他元素覆盖图像的空白space

Cover blank space of image by other elements of Jasper Report

我的图片高度为 360 像素,宽度为 900 像素。根据我的情况,有时图像会是空白的,因此它不会在 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 像素,文本字段位于 320 像素处,因此图片不是它们,文本字段将在 320 像素之后显示。它在 PDF 中看起来很糟糕。所以我想如果图像不是他们上面的所有元素移位。

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

所以在这种情况下,将此图像添加到框架中,并将其他元素定位为浮动。 (所有元素中有一个属性可用positionedType="float")

宾果!!!问题已解决。