Как установить левое поле для HTML-абзаца, показанного в текстовом поле Jasperreports - PullRequest
0 голосов
/ 18 мая 2018

Я делаю подотчет с помощью Jaspersoft Studio 6.2.1.Подотчет содержит только TextField, определенный следующим образом:

<band height="105">
    <textField isStretchWithOverflow="true">
        <reportElement positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="505" height="47" uuid="03b4eae9-6dd0-4fdb-b2c5-5d8a5ba3b71d"/>
        <textElement textAlignment="Justified" markup="html">
            <font fontName="Verdana" size="10"/>
            <paragraph lineSpacing="1_1_2" leftIndent="0" spacingAfter="250"/>
        </textElement>
        <textFieldExpression><![CDATA["Some text"]]></textFieldExpression>
    </textField>
</band>

. Он работает правильно, создавая представление PDF с любым содержимым, которое я добавил.Хотя он может отображать HTML-теги, такие как , или , он не отображает тег html paragrahp (), как следует, когда я задаю для него стиль.Ниже представлены два изображения, показывающие, чего я пытаюсь достичь, и конечный результат.

enter image description here

enter image description here

Как видно, оба абзаца показаны без полей.Я знаю, что могу установить стиль для всех абзацев внутри элемента textField, но есть ли способ добиться того, чтобы у любого абзаца был свой стиль в соответствии с его атрибутом style?

1 Ответ

0 голосов
/ 18 мая 2018

То, что вы испытываете, связано с тем, что внутренне JasperReports использует только javax.swing.JEditorPane для обработки текста HTML, который, к сожалению, поддерживает только HTML 3.2 даже в более поздних версиях Java.

Такпри написании HTML-разметки не следует полагаться на встроенные стили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...