在列表中添加垂直间距

Adding vertical spacing in List

我是 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 较早被删除以用于样式目的。 所以只是想知道有没有一种方法可以使用上面的代码在列出的项目之间添加垂直间距(需要在列出的项目之间添加额外的 space)..?

请查看 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 术语中称为 leading。您可以在 ListItem.

级别定义此行距