Word页脚内容解析混乱

页脚解析错乱,

  1. 问题1 :通过HeaderFooter.getText()方式, 解析出了一堆PAGE_…等 ,文档中不存在的字符
  2. 问题2: 页脚中页码解析的和源文档对应不上, 第一个解析的是2, 第二页解析的是1, 后续页面没有解析到页码信息.
    文本敏感词9类测试数据.docx (99.2 KB)

我只想要解析出word展示的内容, 该怎么做?

@zchong 该数字是字段内容的一部分。您应该使用

Document doc = new Document("foot.docx");
boolean isDifferentFirstPage = doc.getFirstSection().getPageSetup().getDifferentFirstPageHeaderFooter();
if (isDifferentFirstPage) {
    HeaderFooter footerFirstPage = doc.getFirstSection().getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
    for (Field field : footerFirstPage.getRange().getFields()) {
        System.out.println(field.getDisplayResult());
    }
}

for (HeaderFooter headerFooter : doc.getFirstSection().getHeadersFooters()) {
    if (headerFooter.getHeaderFooterType() == HeaderFooterType.FOOTER_PRIMARY) {
        for (Field field : headerFooter.getRange().getFields()) {
            System.out.println(field.getDisplayResult());
        }
    }
}

但 MS Word 并非固定页码格式,因此在文档中,每个页眉/页脚只有一个实例。在加载文档时,MS Word 会根据需要多次显示相同的页眉,页码字段也会以相同的方式更新。

以下链接可以提供帮助: Working with Headers and Footers in Java|Aspose.Words for Java