使用JasperReports打印动态文本字段

时间:2010-09-12 11:11:21

标签: java jasper-reports font-size

我正在编写一个软件,其中一个流程将文本设置为JTextAreaJTextArea具有先前设置的宽度和高度。如果输入文本太长,则会更改字体大小,因此整个文本将适合JTextArea的边界。

然后我要打印此JTextArea。打印版本还应具有类似我的用户界面的确切属性。我正在使用JasperReports

但问题是我找不到在生成的报告中动态更改字体大小的方法。有没有办法做到这一点?或者请指导我一些好的参考..

谢谢

2 个答案:

答案 0 :(得分:2)

我找到的一种可能的方法是创建两个不同字体大小的字段,并为每个字段创建不同的打印表达式。

您可以在字段中检查字符串的长度,并仅显示适合字符串长度的字段。

如果将字段设置为字段的打印表达式,则可能会执行以下操作。

($F{myField}.length() > 20 && $F{myField}.length() < 100) 

如果String长度大于20但小于100,则表达式为true。

如果您创建了多个这些字段,则应该适合处理不同的长度。

答案 1 :(得分:1)

您可以查看DynamicJasper库。它允许您以programmaticaly方式创建报告。 更重要的是,您可以将当前报告用作模板,并通过DynamicJasper处理文本字段的字体大小。