本文介绍如何使用spire.doc for java在含多个节的word文档中添加连续和非连续的页码。
添加连续的页码到文档
默认地,当我们添加页码到第一节的页眉或页脚后,其他节会链接到前一节以使用相同的页眉或页脚。因此,我们只需要在第一节中设置页码。
import com.spire.doc.document;
import com.spire.doc.fieldtype;
import com.spire.doc.fileformat;
import com.spire.doc.headerfooter;
import com.spire.doc.documents.horizontalalignment;
import com.spire.doc.documents.paragraph;
public class continuouspaging {
public static void main(string[] args) {
//加载word文档
document document = new document("c:\\users\\administrator\\desktop\\test.docx");
//获取第一个节中的页脚
headerfooter footer = document.getsections().get(0).getheadersfooters().getfooter();
//添加段落到页脚
paragraph footerparagraph = footer.addparagraph();
//添加文字、页码域和总页数域到段落
footerparagraph.appendtext("第");
footerparagraph.appendfield("page number", fieldtype.field_page);
footerparagraph.appendtext("页 共");
footerparagraph.appendfield("number of pages", fieldtype.field_num_pages);
footerparagraph.appendtext("页");
//将段落居中
footerparagraph.getformat().sethorizontalalignment(horizontalalignment.center);
//保存文档
document.savetofile("continuousnumbering.docx", fileformat.docx_2013);
}
}
为不同的节添加不连续的页码
import com.spire.doc.document;
import com.spire.doc.fieldtype;
import com.spire.doc.fileformat;
import com.spire.doc.headerfooter;
import com.spire.doc.documents.horizontalalignment;
import com.spire.doc.documents.paragraph;
public class discontinuouspaging {
public static void main(string[] args) {
//加载word文档
document document = new document("c:\\users\\administrator\\desktop\\test.docx");
//获取第一节的页脚
headerfooter footer = document.getsections().get(0).getheadersfooters().getfooter();
//添加段落到页脚
paragraph footerparagraph = footer.addparagraph();
//添加文本、节域、页码域到段落
footerparagraph.appendtext("第");
footerparagraph.appendfield("section number", fieldtype.field_section);
footerparagraph.appendtext("节 第");
footerparagraph.appendfield("page number", fieldtype.field_page);
footerparagraph.appendtext("页");
//将段落居中
footerparagraph.getformat().sethorizontalalignment(horizontalalignment.center);
//判断文档是否含多个节
if (document.getsections().getcount()>1) {
//遍历除第一节以外的其他节
for (int i = 1; i < document.getsections().getcount(); i ) {
//在当前节重新开始编页码
document.getsections().get(i).getpagesetup().setrestartpagenumbering(true);
//从1开始编页码
document.getsections().get(i).getpagesetup().setpagestartingnumber(1);
}
}
//保存文档
document.savetofile("discontinuousnumbering.docx", fileformat.docx_2013);
}
}