Подтвердить что ты не робот

Стиль текстового поля в JasperReports

Я знаю, как применять встроенный стиль для статического текста в JasperReports. Можно ли это сделать и для текстовых полей (текстовых полей)? Если да, то как?

4b9b3361

Ответ 1

Да, вы можете применить стиль для элементов 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 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-стиля (например, для жирного шрифта и для курсива) можно использовать, например, для выделите конкретный фрагмент текста. Возможные значения: следующим образом:

нет

None
Обработка текста не выполняется, и текст печатается точно так же, как это предусмотрено. стилизации
Эта разметка способна форматировать текст с помощью набора HTML-подобных тегов, и он довольно популярен в средах Java. Он позволяет установить конкретный шрифт для фрагментов текста, цвета, фона, стиля и т.д. Он часто достаточно хорош для форматирования текста программно. HTML
Если вы хотите напечатать некоторый текст HTML в своем отчете, это то, что вам нужно, но основное его назначение - форматировать текст, поэтому не ожидайте, что сможете распечатать таблицы или добавить изображений. RTF
Устанавливая разметку на это значение, контент будет интерпретироваться как RTF-код. RTF - популярный формат документа, хранящийся в чистом тексте. Маленькая часть текста, говорящая "это текст, отформатированный в RTF" в иллюстрации 19, был сгенерирован с использованием строки:
{\ 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 в формате \f0\fs20 в формате RTF\par}
Строка на самом деле является файлом RTF, созданным с использованием простого текстового процессора. Цвет шрифта
Это имя предустановленного шрифта, из которого будут взяты все свойства символа. Этот атрибут устарел, и он существует только для совместимости Причина (это то, почему это ярлык является структурным). Чтобы определить особый стиль текста для использования по всему документу, используйте стиль.

Образец использования markup здесь здесь.

Вы можете использовать style для установки:  

Общие свойства   Свойства графики   Пограничные и дополнительные свойства   Свойства текста

Другой пример здесь.

API DynamicJasper с использованием

В случае использования 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(); 

Образец здесь.

API JasperReports с использованием

В случае использования JasperReports API вы можете установить стиль, например, с помощью net.sf.jasperreports.engine.base.JRBasePrintText класс:

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

Образец здесь.