aspose word for java添加页码并自动生成目录

添加页码

public void addHeaderFooter(Document doc){
    //创建页脚 页码
			HeaderFooter footer = new HeaderFooter(doc, HeaderFooterType.FOOTER_PRIMARY);
			doc.getFirstSection().getHeadersFooters().add(footer);

			//页脚段落
			Paragraph footerpara = new Paragraph(doc);
			footerpara.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
			Run footerparaRun = new Run(doc);
			footerparaRun.getFont().setName("宋体");
			footerparaRun.getFont().setSize(9.0);//小5号字体
			footerpara.appendChild(footerparaRun);
			footerpara.appendField(FieldType.FIELD_PAGE, true);//当前页码
			footerpara.appendChild(footerparaRun);
			footer.appendChild(footerpara);
}

生成目录

//将光标移到文档开始的位置
builder.moveToDocumentStart();
builder.insertBreak(BreakType.PAGE_BREAK);

//设置目录的格式         
//“目录”两个字居中显示、加粗、搜宋体
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
builder.setBold(true);
builder.getFont().setName(FontName.SONG);
builder.writeln("目录");
//清清除所有样式设置
builder.getParagraphFormat().clearFormatting();
//目录居左
builder.getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);
 //插入目录,这是固定的
builder.insertTableOfContents("\\o \"1-3\" \\h \\z \\u");
field.update();
doc.updateFields();// 更新域
            doc.getStyles().getByStyleIdentifier(StyleIdentifier.TOC_1).getFont().setSize(FontSize.FONT105);    //改变目录的字体大小
            doc.getStyles().getByStyleIdentifier(StyleIdentifier.TOC_2).getFont().setSize(FontSize.FONT105);    //改变目录的字体大小
            doc.getStyles().getByStyleIdentifier(StyleIdentifier.TOC_3).getFont().setSize(FontSize.FONT105);    //改变目录的字体大小
            doc.getStyles().getByStyleIdentifier(StyleIdentifier.TOC_3).getParagraphFormat().setLineSpacing(18);//改变目录行距

生成目录参考:https://blog.csdn.net/SThranduil/article/details/53436789

posted @ 2019-01-31 09:04  名字不知道起什么好呢  阅读(2235)  评论(0编辑  收藏  举报