【问题标题】:The text is rendering clipped ignoring isStretchWithOverflow property value using PDF exporter文本呈现剪辑忽略 isStretchWithOverflow 属性值使用 PDF 导出器
【发布时间】:2012-01-19 00:43:31
【问题描述】:

是否可以在 groupHeader 中换行?我让它在细节部分工作, 但组内的文字似乎不想换行。我已经尝试了所有我能想到或从谷歌找到的包装组合。

<style name="reportProject" isDefault="false" fontName="Times" fontSize="10" isBold="false" isItalic="true" isUnderline="false" isStrikeThrough="false"/>
<group name="PROJHEADER" minHeightToStartNewPage="60">
    <groupExpression><![CDATA[$F{projectHeader}]]>
    </groupExpression>
    <groupHeader>
        <band height="40" splitType="Stretch">
            <printWhenExpression><![CDATA[Boolean.valueOf($F{projectHeader}.length() > 0)]]>
            </printWhenExpression>
            <textField  isStretchWithOverflow="true"  isBlankWhenNull="true"
                                evaluationTime="Group" evaluationGroup="PROJHEADER" bookmarkLevel="1">
                <reportElement positionType="Float" style="reportProject" mode="Opaque" x="0" y="5" 
                                width="515" height="15" backcolor="#C0C0C0"
                                stretchType="RelativeToBandHeight"/>
                <box leftPadding="10">
                    <bottomPen lineWidth="1.0"/>
                </box>
                <textElement textAlignment="Left" verticalAlignment="Middle" />
                <textFieldExpression class="java.lang.String"><![CDATA[$F{projectHeader}]]>
                </textFieldExpression>
            </textField>
        </band>
    </groupHeader>
</group>

【问题讨论】:

    标签: jasper-reports export-to-pdf


    【解决方案1】:

    isStretchWithOverflow 属性设置为 true 值对我有帮助。

    样本:

    <group name="citygr">
        <groupExpression><![CDATA[$F{CITY}]]></groupExpression>
        <groupHeader>
            <band height="20">
                <textField isStretchWithOverflow="true">
                    <reportElement x="0" y="0" width="100" height="20"/>
                    <textElement/>
                    <textFieldExpression><![CDATA[$F{CITY} + " text1 txt2 longtext3 verylonglongtxt4 long1234567890verylongtext5 txt6 text6 longtext7"]]></textFieldExpression>
                </textField>
            </band>
        </groupHeader>
    </group>
    

    结果将是:

    我正在使用 iReport 4.1.3

    您也可以尝试设置 net.sf.jasperreports.export.pdf.force.linebreak.policy 属性。只需将此属性添加到您的 jrxml 文件中即可。您可以阅读有关此属性的信息here

    样本:

    <jasperReport ...>
        <property name="net.sf.jasperreports.export.pdf.force.linebreak.policy" value="true"/>
    

    【讨论】:

    • 我已经有了 isStretchWithOverflow = "true"。我添加了该属性,但它仍然不起作用。但是,我决定让我的 textElement 像你的一样简单,现在它可以工作了。谢谢。
    【解决方案2】:

    这就是我最终得到的,有效。

    <jasperReport ...>
       <property name="net.sf.jasperreports.export.pdf.force.linebreak.policy" value="true"/>
       .....
        <group name="PROJHEADER" minHeightToStartNewPage="60">
            <groupExpression><![CDATA[$F{projectHeader}]]>
            </groupExpression>
            <groupHeader>
                <band height="40" splitType="Stretch">
                    <printWhenExpression><![CDATA[Boolean.valueOf($F{projectHeader}.length() > 0)]]></printWhenExpression>
                    <textField  isStretchWithOverflow="true"  isBlankWhenNull="true">
                        <reportElement  style="reportProject" x="0" y="5" 
                            width="400" height="15" backcolor="#C0C0C0"/>
                        <textElement textAlignment="Left" verticalAlignment="Middle" />
                        <textFieldExpression class="java.lang.String"><![CDATA[$F{projectHeader}]]>
                        </textFieldExpression>
                    </textField>
                </band>
            </groupHeader>
        </group>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-14
      • 2019-08-26
      • 1970-01-01
      相关资源
      最近更新 更多