Document doc = new Document("D:\\Users\\00306664\\Desktop\\开发工作\\aspose\\temp\\qwe.doc");
DocumentBuilder builder = new DocumentBuilder(doc);
int listLevelNumber = builder.getListFormat().getListLevelNumber();
您好,按照以上方式获取目录显示级别,得到的结果为 0, 跟实际结果不符,请问哪里出现问题?
@ouchli 提供的代码返回文档中第一段的列表级别编号。 如果您需要获取文档中标题段落的列表级别数量,可以使用以下代码:
Document doc = new Document("C:\\Temp\\in.docx");
// Loop through all paragraphs in the document.
for (Paragraph p : (Iterable<Paragraph>)doc.getChildNodes(NodeType.PARAGRAPH, true))
{
if (p.getParagraphFormat().isHeading() && p.isListItem())
System.out.println(p.getListFormat().getListLevelNumber());
}
我不是想插入,我是想读取,怎么读取呢
@ouchli 如果文档中存在现有目录,您可以使用以下代码来获取目录标题范围:
Document doc = new Document("C:\\Temp\\in.docx");
for (Field f : doc.getRange().getFields())
{
if (f.getType() == FieldType.FIELD_TOC)
{
FieldToc toc = (FieldToc)f;
System.out.println(toc.getHeadingLevelRange());
}
}
你好,如果我想指定插入的目录级别只有 1 级,怎么设置呢
builder.insertTableOfContents(“TOC \o"1"\h \z \u”);
这样设置的结果: