We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Aspose words java 关于获取段落编号、项目符号的问题

你好,近期在使用Aspose words读取word文档,将读取的数据存储起来。在使用中发现无法获得段落的编号、项目符号,如下:
第二条 本办法XXXX
第三条 本办法xxxx

查了相关文档,使用LabelList.labelString依然无法拿到“第二条”等具体的编号的值。请问有其他的替代方法吗?

代码如下:

NodeCollection childNodes = document.getChildNodes(NodeType.PARAGRAPH, true);
    for (Paragraph paragraph : (Iterable<Paragraph>) childNodes) {
        if (paragraph.isListItem()) {
            String labelString = paragraph.getListLabel().getLabelString();
            log.info("Label is " +  labelString);
        }
        String paragraphText = paragraph.toString(SaveFormat.TEXT).replaceAll("\\r|\\n|\\t", StringUtils.EMPTY);
        paragraphTexts.add(paragraphText);
    }

测试文件再zip包中:
测试.zip (4.3 KB)

@IhsanYang,

您可以使用Document.updateListLabels方法来更新文档中所有列表项的列表标签。

Document document = new Document("E:\\Temp\\206913\\in.doc");

document.updateListLabels();

NodeCollection childNodes = document.getChildNodes(NodeType.PARAGRAPH, true);
for (Paragraph paragraph : (Iterable<Paragraph>) childNodes) {
    if (paragraph.isListItem()) {
        String labelString = paragraph.getListLabel().getLabelString();
        System.out.println("Label is " + labelString);
    }
}

希望这可以帮助。

@awais.hafeez 谢谢,根据你的提示已经可以拿到这部分数据。

@IhsanYang,

很高兴您能够最终解决此问题。 如果您以后有任何其他疑问,请随时告诉我们。