页脚解析错乱,
- 问题1 :通过HeaderFooter.getText()方式, 解析出了一堆PAGE_…等 ,文档中不存在的字符
- 问题2: 页脚中页码解析的和源文档对应不上, 第一个解析的是2, 第二页解析的是1, 后续页面没有解析到页码信息.
文本敏感词9类测试数据.docx (99.2 KB)
我只想要解析出word展示的内容, 该怎么做?
页脚解析错乱,
我只想要解析出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