Java 如何使用ApachePOI识别.docx文档中的分页符?

Java 如何使用ApachePOI识别.docx文档中的分页符?,java,parsing,ms-word,apache-poi,docx,Java,Parsing,Ms Word,Apache Poi,Docx,我正在尝试使用ApachePOI查找.docx文档中的分页符。我这样做是为了能够找到一个段落的页码。 我使用的代码是: for (XWPFRun run : paragraph.getRuns()) { List<CTBr> brList = run.getCTR().getBrList(); if (brList != null && !brList.isEmpty()) { for (

我正在尝试使用ApachePOI查找.docx文档中的分页符。我这样做是为了能够找到一个段落的页码。 我使用的代码是:

for (XWPFRun run : paragraph.getRuns()) {
            List<CTBr> brList = run.getCTR().getBrList();
            if (brList != null && !brList.isEmpty()) {
                for (CTBr br : brList) {
                    if (br.getType() == STBrType.PAGE) {
                        //page break detected
                    }
                }
            } else {
                List<CTEmpty> lastRenderedPageBreakList = run.getCTR().getLastRenderedPageBreakList();
                if (lastRenderedPageBreakList != null) {
                    for (CTEmpty lastRenderedPageBreak : lastRenderedPageBreakList) {
                        //page break detected
                    }
                }
            }
        }
for(XWPFRun:paragration.getRuns()){
List brList=run.getCTR().getBrList();
if(brList!=null&&!brList.isEmpty()){
用于(CTBr br:brList){
if(br.getType()==STBrType.PAGE){
//检测到分页符
}
}
}否则{
List lastrendedpagebreaklist=run.getCTR().getlastrendedpagebreaklist();
如果(LastRenderdPageBreakList!=null){
对于(CTEmpty lastRenderedPageBreak:lastRenderedPageBreakList){
//检测到分页符
}
}
}
}

代码对于大多数页面都可以正常工作,但不是所有页面都可以。有人知道我还缺少什么吗?

你知道Word不是基于页面的格式吗?因此,与PDF不同,这种格式不会在页面上显式中断。我知道如何呈现文档和更改页面,我正在尝试找出这种机制。我想文档中有表示分页符的元素,不是吗?上面的代码可以检测到分页符,但不是所有的。有时,但并非总是如此,Word会以文件格式记录最后一次断页的位置。它不会总是,也不会在所有情况下,这只是一个提示。唯一能确定的方法是呈现它,字体/页面大小/页边距/文本/图像以及所有POI不支持的内容。我有相同的问题,如果您发现任何可能的副本,请共享解决方案