Docx4j开发手册-9|Docx4j的分页和分节

一、分页

1.1 分页标记

分页标记目前共发现了两种:

  1. 第一种是Br对象
  2. 第二种是R.LastRenderedPageBreak对象

1.2 主要区别

Br R.LastRenderedPageBreak
可以用于实现文本的换行,但它本身并不是一个分页标记。标准的 Br 是简单的换行,即在同一段落内开始新的一行。不过,docx4j以及Word等文字处理软件中也支持一种特殊的换行类型,如 Br.Type.PAGE,这种类型的换行可以强制分页,即在该换行处开始新的一页。但通常所说的 Br 默认指的是软换行,而非强制分页。 不是一个常见的手动插入的分页标记,是Word在处理文档时内部使用的一种记录机制,用来标记文档在上次渲染时每一页的结束位置。它更多地是作为一个元数据或者系统使用的标记,帮助Word记住文档的页面布局状态,而不是直接用于文档内容的格式设置。因此,它不是用户直接操控的分页,而是一个反映文档渲染历史状态的元素。

1.3 使用

在判断是否换页时,应以Br对象为准,R.LastRenderedPageBreak只是word计算出的一个临时变量。

二、分节

2.1 分节标记

分节标记也是两种:

  1. 第一种是在P对象的ppr属性中的sectPr对象
  2. 第二种是在body最后的sectPr对象

2.2 主要区别

ppr属性中的sectPr对象 body最后的sectPr对象
全文只有一个章节时,不会出现。
最后一章节无ppr属性中的sectPr对象
一定会出现,代表了全文最后一个章节。

2.3 使用

章节不存在单独的对象,以段落配置中的SectPr属性存在

全文单章节时,以body最后的sectPr对象为准

全文多个章节时,除了最后一个章节使用body最后的sectPr对象,其他的使用段落样式中的sectPr