如果文本完全适合文本字段,如何避免Jasper Reports中浮动文本中的空行?

时间:2014-09-22 09:03:10

标签: jasper-reports

使用Jasper Reports Library 5.6.0我设计了一个带有换行符的浮动文本字段的报表。这种文本字段的一个示例如下:

    <textField isStretchWithOverflow="true" isBlankWhenNull="false">
        <reportElement key="textField-25" positionType="Float" 
                 stretchType="RelativeToBandHeight" mode="Opaque" x="172" y="0" 
                 width="122" height="12" uuid="f5617e21-e2db-4ea7-9311-82c83805827f">
            <property name="com.jaspersoft.studio.unit.y" value="px"/>
            <property name="com.jaspersoft.studio.unit.height" value="px"/>
        </reportElement>
        <box>
            <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
            <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
            <bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
            <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
        </box>
        <textElement textAlignment="Center" verticalAlignment="Middle">
        <font size="8" isPdfEmbedded="true"/>
    </textElement>

对于短文本,当不需要换行时,这种方法很安静,对于长文本,当换行将一些文本放在下一行或多行时。

如果文本完全符合文本字段的长度,并且如果我在linux系统上使用报表库,那么即使没有必要,该行也会被包装。在这种情况下,看起来文本与顶部对齐,而不是按照应该的中心对齐。

当然,我检查过文本确实没有空白,但事实并非如此。

我无法在Windows上重现问题,只有在将软件部署到Linux服务器时才能重现。不幸的是,在生产环境中我们有linux,不幸的是会有一些用户不得不经常安静地面对这个问题。

在这种情况下,是否有任何解决方案可以避免换行?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。框架会导致问题。 对我来说就是这样。我删除了框架,一切都是正确的。

实际上,框架具有最小高度。因此,当元素换行时,框架会重新调整其高度以达到其最小高度。

希望这会对某人有所帮助!