Jasper Report显示大量静态文本

时间:2011-08-25 20:56:24

标签: ms-word jasper-reports

有人能用我的JasperReport建议解决这个问题吗?我正在使用iReport 4.4.1编写一份报告,其中还包含大量静态合同文本,我将其放在Jasper模板的文本框中。

当渲染到rtf并在MS Word中读取时,文本框正确地从第一页的一半开始,而另一个不同的文本框出现在第二页的顶部。两个方框中的所有文字都是正确的。

但是当我在第一页的文本框顶部插入行时,底部的溢出不会移动到第二页上的框中,它就会消失。

我真的希望文本直接进入Word文档,而不是文本框。

我错过了什么吗?

报告样本:

<jasperReport xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="test" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="259"/>
    <queryString language="xPath">

    </queryString>
    <field name="para1" class="java.lang.String">
        <fieldDescription>/study/para1</fieldDescription>
    </field>
    <background>
        <band splitType="Stretch"/>
    </background>
    <detail>
        <band height="802" splitType="Stretch">
            <textField isStretchWithOverflow="true">
                <reportElement stretchType="RelativeToBandHeight" isPrintRepeatedValues="false" x="5" y="10" width="540" height="512"/>
                <textElement/>
                <textFieldExpression>$F{para1}</textFieldExpression>
            </textField>
        </band>
    </detail>
    <summary>
        <band splitType="Stretch"/>
    </summary>
</jasperReport>

1 个答案:

答案 0 :(得分:2)

您应该将 net.sf.jasperreports.export.docx.flexible.row.height 属性添加到包含 true 值的报告中。

样本:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport ...>
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <property name="net.sf.jasperreports.export.docx.flexible.row.height" value="true"/>

有关此媒体资源的详情,请here