gpt4 book ai didi

styles - 在JasperReports中设置文本字段的样式

转载 作者:行者123 更新时间:2023-12-03 12:32:46 28 4
gpt4 key购买 nike

我知道如何在JasperReports中将内联样式应用于静态文本。可以对文本元素(文本字段)执行相同的操作吗?如果是,怎么办?

最佳答案

是的,您可以为textField元素应用样式。

iReport使用

报告模板示例:

<jasperReport ..>
<style name="ColoredField" style="Default" forecolor="#FF0000">
<conditionalStyle>
<style/>
</conditionalStyle>
</style>
...
<detail>
<band height="52" splitType="Stretch">
<!--Using the style declared in this template-->
<textField>
<reportElement key="textWithStyle" style="ColoredField" mode="Opaque" x="0" y="10" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{TASKS_SERIES}]]></textFieldExpression>
</textField>
<!--Basic formatting (set font and indent) using-->
<textField>
<reportElement key="textWithoutStyle" x="100" y="10" width="100" height="20"/>
<textElement>
<font fontName="Arial" size="14" isBold="true" isItalic="true" isUnderline="false"/>
<paragraph leftIndent="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{TASKS_TASK}]]></textFieldExpression>
</textField>
<!--Markup using: styled-->
<textField>
<reportElement x="200" y="10" width="590" height="42"/>
<textElement markup="styled"/>
<textFieldExpression><![CDATA["The static text without any format.\nThe field's data with bold format<style isBold='true'>:" + $F{TASKS_SUBTASK} + "</style>\n<style isBold='true' isItalic='true' isUnderline='true'>The static underlined text with bold and italic format</style>"]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>


《 iReport Ultimate指南》中有关 markup属性的报价:


Markup属性使您可以使用特定标记设置文本格式
语言。当您必须打印一些文本时,这非常有用
预先格式化的格式,即HTML或RTF。简单的HTML样式标签
(例如,对于粗体和斜体)可用于示例
突出显示文本的特定部分。可能的值如下
如下:

没有
不对文本执行任何处理,并打印文本
完全一样。
风格化
此标记能够使用一组类似HTML的标记来格式化文本,并且在Java环境中非常流行。
它允许为大块的文本,颜色,背景,样式等设置特定的字体。
通常以编程方式设置文本格式就足够了。
的HTML
如果要在报告中打印一些HTML文本,这是您需要的,但是它的主要用途是格式化文本,因此不要指望能够打印表格或添加
图片。
RTF
将标记设置为此值,内容将被解释为RTF代码。 RTF是一种流行的文档格式,以纯文本格式存储。使用以下字符串生成了图19中的一小段文字:“这是RTF格式的文本”:
{\ rtf1 \ ansi \ ansicpg1252 \ deff0 \ deflang1033 {\ fonttbl {\ f0 \ fswiss \ fcharset0
Arial;} {\ f1 \ fnil \ fprq2 \ fcharset0 Swift;}} {* \ generator Msftedit
5.41.15.1507;} \ viewkind4 \ uc1 \ pard \ f0 \ fs20这是文本\ f1 \ fs52格式的RTF \ par中的\ f0 \ fs20}
该字符串实际上是使用简单文字处理器创建的RTF文件。
报告字体
这是预设字体的名称,将从中获取所有字符属性。
该属性已弃用,仅在兼容性方面存在
原因(这就是为什么标签被删除的原因。为了定义一个
要在文档中使用的特定样式的文本,请使用样式。


使用 markup的示例是 here

您可以使用 style进行设置:
共同特性
图形属性
边框和填充属性
文字属性

另一个示例是 here

DynamicJasper API使用

如果使用 DynamicJasper API,则可以在 ar.com.fdvs.dj.domain.builders.ColumnBuilder类的帮助下设置样式:

AbstractColumn columnState = ColumnBuilder.getNew()
.addColumnProperty("state", String.class.getName())
.addTitle("State").addWidth(new Integer(85))
.addStyle(detailStyle).addHeaderStyle(headerStyle).build();


该示例为 here

JasperReports API使用

如果使用 JasperReports API,则可以在 net.sf.jasperreports.engine.base .JRBasePrintText类的帮助下设置样式:

JRPrintText text = new JRBasePrintText(jasperPrint.getDefaultStyleProvider());
text.setStyle(boldStyle);


该示例为 here

关于styles - 在JasperReports中设置文本字段的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8135215/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com