Jasperreports标记属性和PDF

时间:2009-08-19 07:47:15

标签: pdf jasper-reports

我正在使用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样式,因为在单元格中使用表格是客户的要求之一。

感谢。

3 个答案:

答案 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来应用它。