admin 管理员组文章数量: 887021
如何在Word中插入下一页
在Word操作中,如果想插入不同的页眉,就必须要将【链接到前一条页眉】取消勾选,而只有插入一个“下一页”分隔符时才能做到这个效果。
所以我们要做的就是插入“下一页”分隔符(不是别的分隔符),然后再插入页眉。
操作之前的介绍
Word文档可以先将扩展名修改为“zip”然后解压,解压后的目录结构是这样的:
├── [Content_Types].xml
├── _rels
├── docProps
├── word
├──├── _rels
├──├── document.xml
别的文件和目录省略吧,主要是“document.xml”文件,建议研究Word的同窗们先研究这个,这里基本都是正文。
如何插入下一页分隔符
其实分隔符分开的就是sectPr,俗称section,就是说我们只要在上面在插入一个sectPr元素,这个文档就会是两个section也就是成为了两个不同的部分,这是插入不同页眉的基础。
/**
* 给 {@link XWPFDocument} 设置下一页
* <br />
* 也只有设置下一页形式的分页符才可以分隔不同页面的表头
*
* @param document {@link XWPFDocument} 对象
*/
public static void insertNextPageChar(XWPFDocument document) {
// 首先获取 document 的 Section 信息
CTBody body = document.getDocument().getBody();
// 放心, 这个 body 肯定不为空, 否则这个文档就有问题了
XWPFParagraph paragraph = document.createParagraph();
// 新创建的段落肯定没有 PPr, 所以需要新创建一个
CTPPr ctpPr = paragraph.getCTP().addNewPPr();
// 这一句其实就是设置下一页的分页符了
CTSectPr sectPr = ctpPr.addNewSectPr();
// 先加入到 document 的 List 中
Document parent = Document.getParentDocument(document);
if (parent != null) {
parent.addSectPr(sectPr);
}
if (!body.isSetSectPr()) {
// 文档没设置了 sectPr
return;
}
// 把文档上的 sectPr 中的某些属性赋值给新创建的段落的 sectPr
CTSectPr bodySectPr = body.getSectPr();
sectPr.setPgSz(bodySectPr.getPgSz());
sectPr.setPgMar(bodySectPr.getPgMar());
sectPr.setCols(bodySectPr.getCols());
sectPr.setDocGrid(bodySectPr.getDocGrid());
}
看代码,其实是新创建了一个段落(XWPFParagraph),然后在段落的pPr里建了一个sectPr元素并赋值
后续会加上插入页眉。
版权声明:本文标题:poi给Word添加“下一页” 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1715770413h648260.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论