详细信息的文本字段似乎有字符限制并停止拉伸

Detail's text field seems to have a characters limit and stops stretching

我有四份报告,它们基本上是同一份报告的不同格式,其中三份出现以下问题。我在 Detail 的带中有一个文本字段,标记为 Stretch with Overflow。问题是它似乎有某种字符限制,因为使用以下文本(110 个字符):

MAD.ESP.TAUARI(COURATARI GUIANENSIS AUBL.)SERRADA EM RIPA.KD.FAS.FSC 100% MED.19,1MMX38,1MMX2438,4MM DE COMP.

仅打印:

MAD.ESP.TAUARI(COURATARI GUIANENSIS AUBL.)SERRADA EM RIPA.KD.FAS.FSC 100% MED.19,1MMX38,1MMX2438,4MM DE

如截图所示:

值得注意的是,使用JasperStudio的"preview"时,全文显示正常。

这是其中一个的文本字段代码。它们基本相同,改变了宽度、高度和位置。

<textField isStretchWithOverflow="true">
    <reportElement x="26" y="0" width="76" height="10">
    </reportElement>
    <textElement textAlignment="Center" verticalAlignment="Top">
        <font fontName="Arial" size="8"/>
    </textElement>
    <textFieldExpression><![CDATA[$F{descricaoProduto}]]></textFieldExpression>
</textField>

我使用的是 6.2.2 版本的 JasperReports。

编辑:

我创建了一个要点,其中包含报告问题发生的最小版本:

Sample

我正在将其导出为 PDF 并使用 Arial 作为字体(我添加了一个带有 Arial 字体的 JAR)。

net.sf.jasperreports.export.pdf.force.linebreak.policy 属性 设置为 true(在 jasperreports.properties 中或以编程方式)。参见 http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.pdf.force.linebreak.policy

属性 指示 PDF 导出器使用 java.text.BreakIterator 来确定文本中可以出现换行符的位置,这确保了 PDF 导出时的换行符与文本导出时使用的换行符相匹配在报告填充时间测量。请注意,这可能会对 PDF 导出性能产生一些影响,但应该不会太大。