使用ITextRenderer生成PDF后,内部样式不适用

时间:2015-04-15 05:41:04

标签: java css pdf flying-saucer html-to-pdf

我通过加载内部样式的html文件,使用ITextRenderer在我的应用程序中生成pdf。我的HTML页面是这样的:

<html>
<head>
    <style type="text/css">.TFtable tr:nth-child(even) {background: #ffffff; border:none;}</style>
</head>
<body>
    <table class="TFtable" width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr><th align="left" valign="middle" scope="col"> Customer </th> </tr>
    </table>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

有趣的是,它对我来说很好。请注意,在您提供的示例html代码中,您将背景颜色设置为白色。此外,您只向表中添加一行。因为,您使用'tr:nth-​​child(偶数)'作为选择器,该样式将不会应用于第一行(奇数)。尝试以下代码,这是对示例代码的轻微修改。

<html>
<head>
<style type="text/css">
.TFtable  tr:nth-child(even) {
  background: #eee;
  border: none;
}
</style>
</head>
<body>
  <table class="TFtable" width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <th align="left" valign="middle" scope="col">Customer-odd</th>
    </tr>
    <tr>
      <th align="left" valign="middle" scope="col">Customer-even</th>
    </tr>
  </table>
</body>
</html>

在输出pdf(和html)中,您将看到第二行带有灰色背景。我希望这很有用。