1

我正在开发一个表格导出界面,以导出为 HTML、PDF 和 RTF。我为此使用 iText,因为它允许对这三种类型进行非常相似的处理。

HTML 导出的简单示例:

final Document document = new Document(PageSize.A4, 50, 50, 50, 50);
HtmlWriter writer = HtmlWriter.getInstance(document, outputStream);
Table actTable = new Table(colCount);
final Cell c = new Cell(cellString);

c.setColspan(colSpan);
c.setHeader(isHeader);

actTable.addCell(c);
writer.add(actTable);

到目前为止,基本版本正在运行,我现在想为元素设置样式。

在前一个导出类中,我使用了一个嵌入式样式表:

  String cssFileContent = IOUtils.toString(new FileInputStream("style.css"));

  final StringBuilder sb = new StringBuilder();

  sb.append("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n");
  sb.append("<meta http-equiv='Content-Type' content='text/html;charset=ISO-8859-1'>\n");
  sb.append("<html xmlns=\"http://www.w3.org/1999/xhtml\">\n");
  sb.append("<head>\n<title>");
  sb.append(title);
  sb.append("</title>\n");
  sb.append("<style media='screen' type='text/css'>\n");
  sb.append(cssFileContent); // embed the stylesheet
  sb.append("</style>");
  sb.append("<div id=\"header\"></div>\n");
  sb.append("</head>\n");
  sb.append("<body>\n");
  ...

现在我正在尝试使用 iText 添加样式元素,但无法弄清楚如何做到这一点。请帮忙!

我的第二个问题:如何防止 iTextdiv为每个单元格创建标签?

<tr>
  <td border="0.5" width="0">
    <div>testA0,0
    </div>
  </td>
</tr>
4

0 回答 0