gpt4 book ai didi

java - 使用 Java 的 iText7 缩进列表格式

转载 作者:行者123 更新时间:2023-11-30 08:32:00 26 4
gpt4 key购买 nike

我正在使用 iText 7 创建列表。我需要多级缩进。

例子:

  • 项目 1
    • 子项目 1
    • 子项目 2
      • 子子项目 1
      • 子子项目 2
  • 项目 2
    • 子项目 1
    • 子项目 2
      • 子子项目 1
      • 子子项目 2 - 子项目 1
    • 子项目 2
      • 子子项目 1
      • 子子项目 2
  • 项目 3
    • 子项目 1
    • 子项目 2
      • 子子项目 1
      • 子子项目 2

当前尝试:

public void IndentedList() throws IOException {
String filePath = dest + "Example2.pdf";
File file = new File(filePath);
file.getParentFile().mkdirs();

PdfWriter writer = new PdfWriter(filePath);
PdfDocument pdf = new PdfDocument(writer);

Document document = new Document(pdf);

PdfFont font = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);

document.add(new Paragraph("iText is: ").setFont(font));

List list = new List()
.setSymbolIndent(12)
.setListSymbol("\u2022")
.setFont(font);

list
.add(new ListItem("Item 1"))
.add(new ListItem("SubItem1"))
.add(new ListItem("Sub Sub Item 1"))
.add(new ListItem("Sub Sub Item 2"));
.add(new ListItem("Item 1"))
.add(new ListItem("SubItem1"))
.add(new ListItem("Sub Sub Item 1"))
.add(new ListItem("Sub Sub Item 2"));
document.add(list);
document.close();
}

如何缩进特定的列表项?

最佳答案

请查看文档,更具体地说 Chapter 4iText 7: Building Blocks教程。

目前您不是嵌套列表。您将每个列表项添加到顶级列表。您需要嵌套列表,例如:

public void createPdf(String dest) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
Document document = new Document(pdf);
List topLevel = new List();
ListItem item1 = new ListItem();
item1.add(new Paragraph().add("Item 1"));
List secondLevel = new List();
secondLevel.add("Sub Item 1");
ListItem subItem2 = new ListItem();
subItem2.add(new Paragraph("Sub Item 2"));
List thirdLevel = new List();
thirdLevel.add("Sub Sub Item 1");
thirdLevel.add("Sub Sub Item 2");
subItem2.add(thirdLevel);
secondLevel.add(subItem2);
item1.add(secondLevel);
topLevel.add(item1);
document.add(topLevel);
document.close();
}

生成的 PDF 如下所示:

enter image description here

如您所见,子列表是缩进的,因为您将 List 对象添加到 ListItem。这是真正的嵌套。在您的代码中,您没有引入该层次结构,这就是您没有获得所需结果的原因。

关于java - 使用 Java 的 iText7 缩进列表格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40369985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com