【问题标题】:Printing Dynamic textfields with JasperReports使用 JasperReports 打印动态文本字段
【发布时间】:2011-04-11 07:27:58
【问题描述】:

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

然后我想打印这个JTextArea。印刷版也应该有像我的用户界面一样的确切属性。我为此使用JasperReports

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

谢谢

【问题讨论】:

    标签: java jasper-reports font-size


    【解决方案1】:

    我发现的一种可能方法是创建几个具有不同字体大小的字段,并为每个字段创建不同的打印表达式。

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

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

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

    如果字符串长度大于 20 但小于 100,则表达式为真。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多