本篇文章将介绍通过java程序来添加Word页眉页脚的方法。鉴于在不同文档中,对页眉页脚的操作要求不同,文章将分别从以下几种情况来阐述:

1.添加页眉页脚

添加图片到页眉

添加文本到页眉

添加页码

2.设置奇偶页不同的页眉页脚

3.设置首页页眉页脚不同

4.不连续设置页码(即对不同章节的内容设置不同页码)

5.锁定页眉页脚(不可编辑页眉页脚)

6.删除页眉页脚

删除全部页眉页脚

删除首页页眉页脚

使用工具:Free Spire.Doc for Java

方法一:直接获取文件包里的jar文件,导入到程序(需要先

方法二:通过

【示例1】添加页眉页脚(文本、图片、页码)

import com.spire.doc.*;import com.spire.doc.documents.*;importcom.spire.doc.fields.DocPicture;importcom.spire.doc.fields.TextRange;import java.awt.*;public classAddHeaderFooter {public static voidmain(String[]args){//加载需要添加页眉页脚的文档

Document doc= new Document("test.docx");

Section sec= doc.getSections().get(0);//调用方法添加页眉页脚

AddHeaderFooter(sec);//保存文档

doc.saveToFile("AddHeaderFooter.docx");

}//自定义方法来添加图片、文字页眉及页码

private static voidAddHeaderFooter(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.*;importcom.spire.doc.documents.HorizontalAlignment;importcom.spire.doc.documents.Paragraph;importcom.spire.doc.fields.TextRange;import java.awt.*;public classHeaderFooterForOddAndEvenPages {public static voidmain(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.*;importcom.spire.doc.documents.HorizontalAlignment;importcom.spire.doc.documents.Paragraph;importcom.spire.doc.fields.TextRange;import java.awt.*;public classHeaderFooterDifferentFromFirstPage {public static voidmain(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.*;importcom.spire.doc.documents.HorizontalAlignment;importcom.spire.doc.documents.PageNumberStyle;importcom.spire.doc.documents.Paragraph;public classDifferentPageNumber {public static voidmain(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 classLockHeaderFooter {public static voidmain(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 classDeleteAllHeaderFooter {public static voidmain(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 classDeleteHeaderFooterOfFirstPage {public static voidmain(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);

}

}

首页页眉页脚删除效果:

(本文完)

转载请注明出处!

java 页眉页脚_Java 添加Word页眉、页脚相关推荐

  1. java增加新图形形状_Java 添加Word形状或图形

    本文将介绍通过java编程在Word文档中添加形状(图形),包括添加单个图形.组合图形,以及格式化图形样式,如设置形状填充色.大小.位置.边框样式.边框颜色.边框粗细.图形旋转角度.图形文本环绕方式等 ...

  2. 计算机中页眉页脚的概念,word中的页眉与页脚

    针对一个多页的文档,当需要对其中的某一页或几页采用不同于其他页面的页眉时,现举例来说明其方法: 例:有一个8页的文档,第1.2页不需要页眉,第3页的页眉内容为"文档",第4.5页页 ...

  3. java word 添加水印图片_Java添加Word文本水印和图片水印

    水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印 图片水印 使用工具:Free Spire ...

  4. word中图片超出页边距_如何在Word中更改页边距

    word中图片超出页边距 Word documents open with one-inch margins by default. You can adjust the page margins b ...

  5. java如何设置例外站点_java添加例外站点

    Java1试题加答案()_IT认证_资格考试/认证_教育专区.试卷(一)一.填空题(每空 2 分,共计 10 分) 1.在 Java 平台技术中,boolean 数据类型只有两个值分别...... 复 ...

  6. java实现for文件删除_Java 添加、删除、替换、格式化Word中的文本的步骤详解(基于Spire.Cloud.SDK for Java)...

    Spire.Cloud.SDK for Java提供了TextRangesApi接口可通过addTextRange()添加文本.deleteTextRange()删除文本.updateTextRang ...

  7. java word 水印_Java 添加Word文本水印、图片水印

    水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印图片水印使用工具:Free Spire.D ...

  8. java 艺术字_Java 添加Word艺术字

    import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.documents.Sha ...

  9. java tif 转jpg 颜色_java 实现 tif图片(多页的)转换成jpg

    多页单个tif文件转换为多个jpg文件 需要官方的一些包支持(具体参考源码),上网找找即可. 源码: ------------------------- import java.io.*; impor ...

  10. java word表格_Java 添加Word表格行或列

    import com.spire.doc.*; import com.spire.doc.documents.BorderStyle; import java.awt.*; public class ...

最新文章

  1. 【深入浅出-JVM】(序)
  2. JavaSE(十六)——反射
  3. Linux系统中解压缩指令汇总
  4. 使用命名空间、头文件和实现文件
  5. 构件与构架,我的理解
  6. [过年菜谱之]千张春笋蒸酱鸭
  7. Java 序列化的这三个坑千万要小心
  8. A* 寻路算法,matplotlib地图生成
  9. Shell脚本学习指南 下载
  10. Ubuntu 开机自动运行命令或程序
  11. 华为od德科面试数据算法解析 2022-3-20 关于员工工号问题
  12. coj 1256 天朝的单行道
  13. MRT工具谢幕,HEG华丽登场
  14. 浏览器如何截图整个滚动屏 ?
  15. MemCache详解
  16. uniapp微信小程序瀑布流布局
  17. 关于checkbox的全选/全不选的处理
  18. Cannot change network to bridged: There are no un-bridged host network adapters解决方法
  19. 【计算机网络期末复习资料1】
  20. swiper3的前进、后退按钮放到容器的外面

热门文章

  1. 腐蚀rust电脑分辨率调多少_腐蚀Rust帧数优化指南 游戏FPS提高方法说明
  2. 文件夹提示文件或目录损坏且无法读取怎么修复
  3. java创建mysql视图_Mysql视图的创建及使用
  4. 部分beamforming知识汇总
  5. python实现三阶魔方还原
  6. word顶部有一道线_word文档上方总有一条线怎样去掉?
  7. 2022新阅读:nmn有用吗?nmn注意事项有哪些?
  8. Windows操作系统单网卡设置双IP
  9. 大学生自己做网站如何赚钱
  10. 酒店管理系统 java_java酒店管理系统项目书.pdf