0

我看过一些关于 iTextSharp 不支持所有 css 属性的帖子,但是有没有办法删除所有表格单元格中的填充?

我有一个基本表,它使用流读取器填充以从文件中获取 html。我也有一个样式表,我在其中都尝试过:

testCss.LoadTagStyle(HtmlTags.TD, HtmlTags.CELLPADDING, "0");
testCss.LoadStyle("td","style", "padding: 0px;");

但这两者似乎都没有对桌子产生任何影响。有没有一种简单的方法可以删除单元格填充,以使文本不那么间隔?

4

1 回答 1

0

HTMLWorker 很久以前就被弃用了,取而代之的是 XmlWorker,所以我建议先研究一下。

也就是说,如果您查看HTMLWorker 最终调用的 CSS 解析的源代码,您会发现它HtmlTags.CELLPADDING永远不会被使用。该类HtmlTags几乎包含所有 HTML 标记和属性(至少从 4.0 时代开始),但实际上实现的属性很少。零工作将永远完成,HTMLWorker因此您不应该期望任何更改。再次,检查XmlWorker.

然而,一旦你解析了你的 HTML,你应该得到一个IElement对象的集合。您可以手动遍历这些对象以查找类型PdfPTable,然后使用此处的代码手动设置您自己的 padding

于 2013-09-13T18:33:43.197 回答