我是ItextSharp Coding的新手,我创建了一个列表
使用代码
Dim li = New List(12)
li.ListSymbol = New Chunk(ChrW(&H2022), HeaderFont)
li.Add(New ListItem("Item 1", DefaultFont))
li.Add(New ListItem("Item 2", DefaultFont))
li.Add(New ListItem("Item 3", DefaultFont))
li.Add(New ListItem("Item 4", DefaultFont))
li.Add(New ListItem("Item 5", DefaultFont))
li.Add(New ListItem("Item 6", DefaultFont))
p1 = New Paragraph("", DefaultFont)
p1.IndentationLeft = 50
p1.SpacingBefore = 5
p1.Add(li)
myDocument.Add(p1)
DefaultFont和HeaderFont是为了样式目的而提前完成的。 所以我想知道有没有办法在列出的项目之间添加垂直间距(需要在列出的项目之间添加额外的空间)使用上面的代码..?
答案 0 :(得分:4)
请查看ListWithLeading示例。
在这个例子中,我首先按照你的方式创建一个列表:
List list1 = new List(12);
list1.setListSymbol("\u2022");
list1.add(new ListItem("Value 1", font));
list1.add(new ListItem("Value 2", font));
list1.add(new ListItem("Value 3", font));
document.add(list1);
请注意,我将列表直接添加到document
,我没有看到您将其包含在Paragraph
内的任何理由。
然后我按照您希望的方式创建一个列表:
List list2 = new List(12);
list2.setListSymbol("\u2022");
list2.add(new ListItem(30, "Value 1", font));
list2.add(new ListItem(30, "Value 2", font));
list2.add(new ListItem(30, "Value 3", font));
list2.setIndentationLeft(60);
document.add(list2);
请注意,我使用setIndentationLeft()
方法定义左缩进(在C#中,这可能是像list2.IndentationLeft = 60;
这样的一些思考)并且我更改了默认的ListItem
对象的前导(这是字体大小的1.5倍)到30。
请注意,两个连续行的基线之间的距离在PDF术语中称为前导。您可以在ListItem
。