我正在使用Jasperrerports 3.5.1并且我有一个html风格的文本,我需要以适当的样式打印PDF。
在我要打印样式文本的单元格中,我将标记属性设置为“HTML”。我创建了一个示例文本:
<p>
<table border="0">
<tbody>
<tr>
<td>wewewe</td>
<td>eeeee</td>
</tr>
<tr>
<td>qwewewq</td>
<td>3333333</td>
</tr>
</tbody>
</table>
</p>
<p>4444</p>
但在PDF中,它打印得好像没有任何格式。 你知道我怎么能在这里使用html样式,因为在单元格中使用表格是客户的要求之一。
感谢。
答案 0 :(得分:3)
我知道这个问题很老,但JasperReports只支持一小组非常小的HTML标签来进行样式设计。我找到的那些标签列表是:
b
br
font
u
i
sup
sub
li
有关详细信息,请参阅here。
答案 1 :(得分:0)
首先,我不确定是否重要,但要确保JRXML中textElement元素的markup属性值设置为“html”(小写)。
其次,标记属性的目的是使用HTML格式化文本,它意味着使文本变为粗体,斜体,更改字体颜色或大小等。创建表不是此属性的用途。
您可以使用标准JRXML创建表,而无需使用嵌入HTML,将示例与$ {JASPERREPORTS_HOME} / demo / samples / table
下的JasperReports下载捆绑在一起答案 2 :(得分:0)
您可以执行类似
的操作<textField >
<reportElement x="7" y="10" width="543" height="53"/>
<textElement markup="html">
<font size="10" pdfFontName="Helvetica" isPdfEmbedded="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{myElementName}]]></textFieldExpression>
</textField>
然后你可以以编程方式传递以下字符串
<p style="color:red">
<table border="0">
<tbody>
<tr>
<td style="border: 1px solid">wewewe</td>
<td style="border: 1px solid">eeeee</td>
</tr>
<tr>
<td style="border: 1px solid" >qwewewq</td>
<td style="border: 1px solid">3333333</td>
</tr>
</tbody>
</table>
</p>
<p>4444</p>
我还没有找到如何使用jasperreport文本元素中的类来创建css来应用它。