4

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

谢谢。

4

3 回答 3

3

I know this question is old, but JasperReports only supports a small, very small set of HTML tags for styling. The list I found of those tags is:

b
br
font
u
i
sup
sub
li

See here for more info.

于 2011-11-23T20:58:52.237 回答
0

首先,我不确定大小写是否重要,但请确保 JRXML 中 textElement 元素的标记属性值设置为“html”(小写)。

其次,markup 属性的目的是使用 HTML 格式化文本,它的目的是使文本变为粗体、斜体、更改字体颜色或大小等。创建表格不是该属性的用途。

您可以使用标准 JRXML 创建表格,而无需嵌入 HTML,示例与 JasperReports 下载捆绑在 ${JASPERREPORTS_HOME}/demo/samples/table 下

于 2009-08-29T15:34:47.163 回答
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>

我还没有找到如何创建 css 以使用 jasperreport 文本元素中的类来应用它。

于 2010-06-22T19:57:36.817 回答