【Spire 4java】Java 添加Word页眉、页脚
【参考】https://www.cnblogs.com/Yesi/p/11010805.html
本篇文章将介绍通过java程序来添加Word页眉页脚的方法。鉴于在不同文档中,对页眉页脚的操作要求不同,文章将分别从以下几种情况来阐述:
1.添加页眉页脚
- 添加图片到页眉
- 添加文本到页眉
- 添加页码
2.设置奇偶页不同的页眉页脚
3.设置首页页眉页脚不同
4.不连续设置页码(即对不同章节的内容设置不同页码)
5.锁定页眉页脚(不可编辑页眉页脚)
6.删除页眉页脚
- 删除全部页眉页脚
- 删除首页页眉页脚
使用工具:Free Spire.Doc for Java
方法一:直接获取文件包里的jar文件,导入到程序(需要先下载文件包)。
方法二:通过Maven导入到程序。
【示例1】添加页眉页脚(文本、图片、页码)
import com.spire.doc.*; import com.spire.doc.documents.*; import com.spire.doc.fields.DocPicture; import com.spire.doc.fields.TextRange; import java.awt.*;public class AddHeaderFooter {public static void main(String[]args){//加载需要添加页眉页脚的文档Document doc= new Document("test.docx");Section sec = doc.getSections().get(0);//调用方法添加页眉页脚AddHeaderFooter(sec);//保存文档doc.saveToFile("AddHeaderFooter.docx");}//自定义方法来添加图片、文字页眉及页码private static void AddHeaderFooter(Section sec){//加载图片添加到页眉,并设置图片在段落中的对齐方式HeaderFooter header = sec.getHeadersFooters().getHeader();Paragraph hpara= header.addParagraph();DocPicture pic =hpara.appendPicture("1.png");pic.setHorizontalAlignment(ShapeHorizontalAlignment.Left);pic.setVerticalOrigin(VerticalOrigin.Top_Margin_Area);pic.setVerticalAlignment(ShapeVerticalAlignment.Center);//添加文字到页眉,并设置字体、字号、字体加粗、对齐方式TextRange txt = hpara.appendText("青年时报");txt.getCharacterFormat().setUnderlineStyle(UnderlineStyle.None);txt.getCharacterFormat().setTextColor(Color.GRAY);txt.getCharacterFormat().setFontName("仿宋");txt.getCharacterFormat().setFontSize(12f);txt.getCharacterFormat().setBold(true);hpara.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);//设置图片的文本环绕方式、页眉底部边线(粗细、间距)pic.setTextWrappingStyle(TextWrappingStyle.Behind);hpara.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Single);hpara.getFormat().getBorders().getBottom().setLineWidth(0.5f);hpara.getFormat().getBorders().setSpace(2f);//添加页码到页脚,并设置页脚对齐方式,顶部边线粗细、间距HeaderFooter footer = sec.getHeadersFooters().getFooter();Paragraph fpara= footer.addParagraph();fpara.appendField("页码",FieldType.Field_Page);fpara.appendText("/");fpara.appendField("总页数",FieldType.Field_Num_Pages);fpara.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);fpara.getFormat().getBorders().getTop().setBorderType(BorderStyle.Single);fpara.getFormat().getBorders().getTop().setLineWidth(1f);fpara.getFormat().getBorders().getTop().setSpace(2f);} }
页眉页脚添加效果:
【示例2】设置奇偶页页眉页脚不同
import com.spire.doc.*; import com.spire.doc.documents.HorizontalAlignment; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.TextRange;import java.awt.*;public class HeaderFooterForOddAndEvenPages {public static void main(String[] args){//加载测试文档Document doc = new Document("test.docx");Section sec = doc.getSections().get(0);//设置奇偶页页眉页脚不同sec.getPageSetup().setDifferentOddAndEvenPagesHeaderFooter(true);//设置奇数页页眉页脚HeaderFooter oddheader = sec.getHeadersFooters().getOddHeader();Paragraph para1 = oddheader.addParagraph();TextRange textRange1 = para1.appendText("奇数页页眉");para1.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);textRange1.getCharacterFormat().setTextColor(Color.ORANGE);textRange1.getCharacterFormat().setBold(true);HeaderFooter oddfooter = sec.getHeadersFooters().getFooter();Paragraph para2 = oddfooter.addParagraph();TextRange textRange2 = para2.appendText("奇数页页脚");para2.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);textRange2.getCharacterFormat().setTextColor(Color.ORANGE);textRange2.getCharacterFormat().setBold(true);//设置偶数页页眉页脚HeaderFooter evenheader = sec.getHeadersFooters().getEvenHeader();Paragraph para3 = evenheader.addParagraph();TextRange textRange3 = para3.appendText("偶数页页眉");para3.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);textRange3.getCharacterFormat().setTextColor(Color.BLUE);textRange3.getCharacterFormat().setBold(true);HeaderFooter evenfooter = sec.getHeadersFooters().getEvenFooter();Paragraph para4 = evenfooter.addParagraph();TextRange textRange4 = para4.appendText("偶数页页脚");para4.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);textRange4.getCharacterFormat().setTextColor(Color.BLUE);textRange4.getCharacterFormat().setBold(true);//保存文档doc.saveToFile("result.docx",FileFormat.Docx_2010);}}
奇偶数页眉页脚设置效果:
【示例3】设置首页页眉页脚不同
import com.spire.doc.*; import com.spire.doc.documents.HorizontalAlignment; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.TextRange;import java.awt.*;public class HeaderFooterDifferentFromFirstPage {public static void main(String[] args){//加载测试文的Document doc = new Document("test.docx");Section sec = doc.getSections().get(0);//设置首页页眉页脚不同sec.getPageSetup().setDifferentFirstPageHeaderFooter(true);//添加首页页眉页脚HeaderFooter firstpageheader = sec.getHeadersFooters().getFirstPageHeader();Paragraph para1 = firstpageheader.addParagraph();TextRange textRange1 = para1.appendText("首页页眉");para1.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);textRange1.getCharacterFormat().setBold(true);textRange1.getCharacterFormat().setTextColor(Color.GREEN);HeaderFooter firstpagefooter = sec.getHeadersFooters().getFirstPageFooter();Paragraph para2 = firstpagefooter.addParagraph();TextRange textRange2 = para2.appendText("首页页脚");para2.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);textRange2.getCharacterFormat().setBold(true);textRange2.getCharacterFormat().setTextColor(Color.GREEN);//添加页眉页脚到其他页面Paragraph para3 = sec.getHeadersFooters().getHeader().addParagraph();para3.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);TextRange textRange3 = para3.appendText("非首页页眉");textRange3.getCharacterFormat().setBold(true);Paragraph para4 = sec.getHeadersFooters().getFooter().addParagraph();para4.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);TextRange textRange4 = para4.appendText("非首页页脚");textRange4.getCharacterFormat().setBold(true);//保存文档doc.saveToFile("result2.docx",FileFormat.Docx_2010);} }
页眉页脚设置效果:
【示例4】不连续设置页码
import com.spire.doc.*; import com.spire.doc.documents.HorizontalAlignment; import com.spire.doc.documents.PageNumberStyle; import com.spire.doc.documents.Paragraph;public class DifferentPageNumber {public static void main(String[]args){//加载测试文档Document doc = new Document("test.docx");//添加页码到第一节HeaderFooter footer= doc.getSections().get(0).getHeadersFooters().getFooter();Paragraph footerpara = footer.addParagraph();footerpara.appendField("Page Number",FieldType.Field_Page);footerpara.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);//设置第一节页码数字格式为罗马数字doc.getSections().get(0).getPageSetup().setPageNumberStyle(PageNumberStyle.Roman_Lower);//设置第二节页码数字格式为阿拉伯数字doc.getSections().get(1).getPageSetup().setPageNumberStyle(PageNumberStyle.Arabic);//设置第二节页码从新开始编码,并设置起始页码数字doc.getSections().get(1).getPageSetup().setRestartPageNumbering(true);doc.getSections().get(1).getPageSetup().setPageStartingNumber(1);//保存文档doc.saveToFile("restartnumbering.docx",FileFormat.Docx_2010);} }
页码设置效果:
【示例5】锁定页眉页脚
import com.spire.doc.*;public class LockHeaderFooter {public static void main(String[]args){//加载测试文档Document doc = new Document("sample.docx");//获取第一节Section sec = doc.getSections().get(0);//设置保护类型及密码doc.protect(ProtectionType.Allow_Only_Form_Fields,"123");sec.setProtectForm(false);//保存文档doc.saveToFile("LockHeaderFooter.docx",FileFormat.Docx_2010);} }
锁定页眉页脚后,文档中除页眉页脚外其他内容可正常编辑。
【示例6】删除页眉页脚
删除所有页眉页脚
import com.spire.doc.*;public class DeleteAllHeaderFooter {public static void main(String[]args){//加载测试文档Document doc = new Document("sample.docx");//获取第一节Section sec = doc.getSections().get(0);//删除页眉sec.getHeadersFooters().getHeader().getChildObjects().clear();//删除页脚sec.getHeadersFooters().getFooter().getChildObjects().clear();//保存文档doc.saveToFile("DeleteAllHeaderFooter.docx");} }
删除效果前后对比:
删除首页页眉页脚
import com.spire.doc.*;public class DeleteHeaderFooterOfFirstPage {public static void main(String[]args){//加载测试文档Document doc = new Document("sample.docx");//获取第一节Section sec = doc.getSections().get(0);//设置首页页眉页脚不同sec.getPageSetup().setDifferentFirstPageHeaderFooter(true);//删除首页页眉页脚sec.getHeadersFooters().getFirstPageHeader().getChildObjects().clear();sec.getHeadersFooters().getFirstPageFooter().getChildObjects().clear();//保存文档doc.saveToFile("DeleteHeaderFooterOfFirstPage.docx",FileFormat.Docx_2010);} }
首页页眉页脚删除效果:
(本文完)
转载请注明出处!
【Spire 4java】Java 添加Word页眉、页脚相关推荐
- Word控件Spire.Doc 【页眉页脚】教程(7): 添加不同的首页页眉和页脚
Spire.DOC是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Microsoft Wor ...
- Word控件Spire.Doc 【页眉页脚】教程(1):用C#/VB.NET:在 Word 文档中添加页眉和页脚
Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Micr ...
- docx4j生成Word添加页眉页脚水印 页眉页脚奇偶显示首页显示
docx4j 单独添加页眉页脚.水印的代码一搜一大堆,但很少有人把页眉+水印.奇偶页眉页脚.首页页眉页脚全面实现,最近在做相关的内容,经过大量的查阅资料,总算完成了,分享记录一下. 先看效果: 水印在 ...
- Java操作poi添加页眉页脚:字体_颜色_大小
Excel中的页眉或页脚仅在页面布局模式和打印预览模式才可见.我们可以在页眉页脚位置添加页码.工作表名.日期.文字.图片等信息.本文将通过Java代码示例来介绍页眉页脚的添加方法. 使用工具: Fre ...
- Word 注重页面细节才专业(添加页眉页脚,调整页边距,消灭孤行) | 职场人就应该这样用 Word
本篇博文结合这两篇食用更佳(知识点遥相呼应,有共通之处,且大多结合使用,轻松举一反三) Excel 表格打印篇(批量添加标题,同页打印,打印logo与页码) Word 高效办公,三步搞定活动策划书 ...
- office/word 2010添加页眉页脚
office/word 2010添加页眉页脚流程 页眉编辑 格式校验 页脚编辑 生成目录 老祖宗有句话讲得好 "学而不思则罔, 思而不学则殆", 学习后就要养成记录的好习惯 最近, ...
- C# 操作Word页眉页脚——奇偶页/首页不同、不连续设置页码、复制页眉页脚、锁定页眉页脚、删除页眉...
序 本文是对Word页眉页脚的操作方法的进一步的阐述.在"C# 添加Word页眉页脚.页码"一文中,介绍了添加简单页眉页脚的方法,该文中的方法可满足于大多数的页眉页脚添加要求,但 ...
- [转]IText导出word之页眉页脚页码
本文主要通过Itext jar包对已有数据进行封装并导出rtf文档.rtf也可以用office打开. 代码中包含了设置页眉页脚.添加table等 详细见源码:内含注释说明 /*** WordServe ...
- Java 处理PDF文档(一):页眉页脚、水印、背景、附件
前言 本文将介绍通过Java编程来处理PDF文档的一些方法,因为一篇文档的处理可能包括很多内容,比如文档安全性设置(水印.加密/解密).文本/图片/图形操作.注释.附件.域.文档转换(其他文件格式转为 ...
最新文章
- 设计PSD分层素材模板|几何元素平面广告,在设计风格中占有一席之地
- 使用HP Vertica进行.NET编程
- mysql恢复备份快照_MySQL备份恢复:磁盘LVM快照
- 海康威视4G球机对接萤石云平台获取直播视频列表 ----- java
- 关于安卓设备更改和烧录IMEI的图文教程
- Tcl 语言 ——列表篇
- 高职院校汽车相关专业AEB测试套件及自动驾驶相关传感器介绍
- 计算机组装与维修第3版,计算机组装与维护(第3版)
- elementUI兼容ie浏览器问题(笔记)
- 项目管理的经验(4年项目管理经验)
- 【Oracle】建立关联三个表的视图
- 七夕,眼光长远点,聊点孩子的事?
- 反向代理服务器域名解析
- 电商平台订单号生成策略
- 《平衡掌控者 游戏数值战斗设计》学习笔记(四)技能与装备设计
- 【Java】使用lambda表达式获取list中所有对象的某个属性以及获取特定属性的某一个对象
- 一文读懂SpringBoot定时任务
- 鹏业云计价i20(四川)CJZ阅读模式功能
- 史上最全Git命令学习:从基础出发,Java中高级面试题总结(全面)
- 在CentOS7上安装RabbitMQ