在使用XMLWorker和itext解析html时,如何将cellspacing添加到pdftable

时间:2014-11-02 10:58:51

标签: itext xmlworker

我正在使用XMLWorker和itext将html转换为pdf。 我的html有一个表,我需要设置它的cellspacing = 0 cellpadding = 0。 有谁知道怎么做?

在HTML中我看到我可以通过设置样式来替换它:

  

border-collapse: collapse; border-spacing: 0px ; border : 0; padding : 0;

感谢 塔米

1 个答案:

答案 0 :(得分:0)

我已尝试使用您建议的CSS进行操作,这对我有用:

enter image description here

您可以在此处找到我的测试:ParseHtmlTable5

这是我的HTML(包括CSS):table3_css.html

<html>
<head>
<style>
    table, td {
        border: 1px solid green;
        border-spacing: 0px;
        padding: 0px;
    }
</style>
</head>
<body>
<table class='test'>
  <tr>
    <th>Firstname</th>
    <th>Lastname</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td>Peter</td>
    <td>Griffin</td>
    <td>$100</td>
  </tr>
  <tr>
    <td>Lois</td>
    <td>Griffin</td>
    <td>$150</td>
  </tr>
  <tr>
    <td>Joe</td>
    <td>Swanson</td>
    <td>$300</td>
  </tr>
  <tr>
    <td>Cleveland</td>
    <td>Brown</td>
    <td>$250</td>
</tr>
</table>
</body>
</html>

我建议您将HTML与我的HTML进行比较,以了解您的错误。 您还应该使用最新版本的XML Worker和iText(Sharp),因为我们在最新版本中显着改进了HTML解析。

请注意,我已经定义了1px的实心绿色边框,以证明单元格之间没有填充和间距。如果你改变这样的CSS:

<style>
    table, td {
        border: 0px;
        border-spacing: 0px;
        padding: 0px;
    }
</style>

你会得到一个没有边框的表格的(丑陋)版本,单元格之间没有间距而单元格内没有填充。