两个段落存在分页符号,但是解析出来是一个段落

“测试测试”和“修改记录”两个段落存在分页符号,但是解析出来是一个段落,是什么原因?希望这种情况能够解析处两个段落,应该如何做

您好,能帮忙回答下问题嘛,比较着急,谢谢。

@ouchli 此行为符合预期。分页符是段落中的特殊符号。此符号不会中断段落,只是将内容移至下一页。

我现在希望这种情况能够解析为两个段落,应该如何做

@ouchli 您需要添加段落分隔符,例如在分页符之前:

if (para.getText().contains(some_text))
	para.getRange().replace(ControlChar.PAGE_BREAK, ControlChar.PARAGRAPH_BREAK + ControlChar.PAGE_BREAK);

image.png (6.1 KB)

这种方法只是在\f前添加了\r,依然是一个段落

@ouchli 好了,希望这个能帮到你。

Document doc = new Document("input.docx");
DocumentBuilder builder = new DocumentBuilder(doc);

NodeCollection paras = doc.getChildNodes(NodeType.PARAGRAPH, true);
for (Paragraph para : (Iterable<Paragraph>) paras) {
    RunCollection runs = para.getRuns();
    if (para.getText().contains(some_text)) {
        for (Run run : runs) {
            if (run.getText().contains(ControlChar.PAGE_BREAK)) {
                builder.moveTo(run);
                builder.insertBreak(BreakType.PARAGRAPH_BREAK);
            }
        }
    }
}