我正在使用 iTextSharp 5.4.4,并且我正在尝试构建一个有序的锚点列表。我面临两个问题:
- 如果我将锚点直接传递给 ListItem 的构造函数,它会在渲染输出中被视为块并失去其锚点特征。解决方法:我使用空构造函数初始化 ListItem,然后使用 ListItem.Add 添加锚点。
2.使用上面的解决方法,我尝试调整列表符号的字体以匹配使用的项目的字体
ListItem.AdjustListSymbolFont();
那行不通-我想这是因为对于itext,列表项中没有可以从中检索字体的块。所以我做的是以下
var listItem = new iTextSharp.text.ListItem(clickAnchor); // clickAnchor is treated as a Chunk
listItem.Add(clickAnchor); // i add the anchor again
listItem.AdjustListSymbolFont();
listItem.Remove(listItem.Chunks[0]); // after the font is adjusted, i remove the first Chunk
所以基本上我给它提供了一个我知道它会被视为块的元素,以便它有一个从中检索字体然后我将相同的元素添加到 ListeItem 并调整字体。然后,我从第一行代码的元素中删除第一个块,它处理并添加了它。这是一个非常丑陋的解决方法,但它是唯一有效的方法。
有没有更好的方法来完成上述工作?谢谢