我使用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标签,如&lt; b&gt ;,&lt; ul&gt;或者&lt; u&gt;,当我为它设置样式时,它不会呈现html paragrahp(&lt; p&gt;)标记。下面是两张图片,展示了我想要实现的目标和最终结果。
可以看出,两个段落都没有任何边际。我知道我可以为textField元素中的所有段落设置一个样式,但有没有办法实现任何段落根据其样式属性有自己的样式?
答案 0 :(得分:0)
您所遇到的事实与内部JasperReports仅使用javax.swing.JEditorPane
处理HTML文本这一事实有关,遗憾的是,即使在最近的Java版本中也只支持HTML 3.2。
因此,在编写HTML标记时,不应该依赖内联样式。