我有一个 JasperReports 模板,其中包含一个 textField 元素,该元素将包含可变长度的字符串。如果字符串太长而无法适应宽度,则会将其拆分,除非字符串包含连字符或空格字符。在这种情况下,字符串是从该字符中拆分出来的。以下是输入、观察到的结果和想要的结果+摘要的一些示例,以使我的观点更容易理解。
input observed wanted summary
_____________________________________
overflow -> overfl -> overfl : OK
over flow -> over -> over f : NOT OK
over-flow -> over- -> over-f : NOT OK
将 reportElement 设置为具有 isStretchWithOverflow="true" 属性会将文本分成两行,但这不是想要的行为。
有没有什么办法解决这一问题?
谢谢。
编辑:输入数据来自外部来源,所以我不能直接改变它。我进行了一些测试,并注意到使用不间断空间可以用于空格。另一方面,不间断的连字符根本不打印,即文本“溢出”变为“溢出”。不完全是想要的。
尽管输入源不在我的控制范围内,但我可以通过编写一个 Scriptlet 来解决此问题,它将空格更改为不间断空格,将连字符更改为不间断连字符,前提是打印那些该死的不间断连字符。
顺便说一下,打印到 PDF,以防给出一些问题的提示。