iTextSharp list bullet - bullet颜色错误?

时间:2013-08-20 13:49:29

标签: itextsharp

我正在尝试使用iTextSharp根据存储在数据库中的HTML内容生成一些自动生成的营销材料PDF传单。它工作得很好,但我发现了一些我认为可能是iTextSharp中的错误。

我从一个HTML块开始,它可能包含常规的HTML列表,如:

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
</ul>

我通过HTMLWorker.ParseToList运行HTML块,以获取准备添加到PDF的已解析项的列表。

对于列表,我们的企业风格是将文本设为黑色,但子弹点为蓝色。所以我浏览元素列表并找到列表中的那些,并将符号的颜色设置为蓝色:

List<IElement> elementsList = HTMLWorker.ParseToList(new StringReader(strHtml), style);

for(int cnt = 0; cnt < elementsList.Count; cnt++)
{
    IElement element = (IElement)elementsList[cnt];
    if (element is List)
    {
       List l = (List)element;
       l.Symbol.Font.Color = new BaseColor(26, 189, 201);
       /* then code here which adds the list to the output column */
    } 
    else
    {
       /* code which adds the element without any extra processing */
    }
}

这很有效,只有蓝色也会应用于列表中最后一项的文本(而不仅仅是项目符号)。正如我所说,只有列表中的最后一项受到影响。其他项目与蓝色子弹点和黑色文本完美输出。我显然无法发布图片,但我已经链接到下面的PNG:

[click to see the problem]

只是想知道是否有人曾经遇到过这个问题,如果有的话,是否有解决方法。我已经测试了最新版的iTextSharp,以确保我是最新的。

设置List.Symbol.Font.Color是正确的方法吗?我假设是因为它适用于列表中的所有元素,而不是最后一个元素!

谢谢,

史蒂夫。

0 个答案:

没有答案