本篇文章將介紹經過java程序來添加Word頁眉頁腳的方法。鑑於在不一樣文檔中,對頁眉頁腳的操做要求不一樣,文章將分別從如下幾種狀況來闡述:html
1.添加頁眉頁腳java
2.設置奇偶頁不一樣的頁眉頁腳app
3.設置首頁頁眉頁腳不一樣maven
4.不連續設置頁碼(即對不一樣章節的內容設置不一樣頁碼)工具
5.鎖定頁眉頁腳(不可編輯頁眉頁腳)測試
6.刪除頁眉頁腳字體
使用工具:Free Spire.Doc for Java編碼
方法一:直接獲取文件包裏的jar文件,導入到程序(須要先下載文件包)。spa
方法二:經過Maven導入到程序。3d
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); } }
頁眉頁腳添加效果:
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); } }
奇偶數頁眉頁腳設置效果:
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); } }
頁眉頁腳設置效果:
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); } }
頁碼設置效果:
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); } }
鎖定頁眉頁腳後,文檔中除頁眉頁腳外其餘內容可正常編輯。
刪除全部頁眉頁腳
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); } }
首頁頁眉頁腳刪除效果:
(本文完)
轉載請註明出處!