Word header and footer are used to format the documents or show useful information such as the topic, page number, copywrite of the documents. With Spire.Doc for Java, you can add, insert, delete or remove header and footer in Word documents in your Java applications. In this article, you will learn how to add or remove headers and footers in Word documents from the following two parts:
Getting Spire.Doc.Jar
Method 1: If you are using maven, you can easily import the JAR file in your application by adding the following code to your project's pom.xml file.
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.doc</artifactId> <version>5.4.10</version> </dependency> </dependencies>
Method 2: If you are not using maven, you can download the JAR file from this link, extract the zip file and then import the Spire.Doc.jar file under the lib folder into your project as a dependency.
Add header and footer to Word document
Spire.Doc supports to add text, images, lines and page numbers to the header or footer of a Word documents.
- Create a Document instance and load a sample Word document using Document.loadFromFile() method.
- Get the first section using Document.getSections().get() method.
- Using section.getHeadersFooters().getHeader() method to get header and section.getHeadersFooters().getFooter() method to get footer.
- Add a paragraph to header using header.addParagraph() method.
- Insert an image as a header using headerParagraph.appendPicture() method and set the position for the image.
- Insert text as a header using headerParagraph.appendText() method and set the text format.
- Add a paragraph to footer using footer.addParagraph() method.
- Add Field_Page field and Field_Num_Pages field to the footer paragraph using footerParagraph.appendField() method and set the format for them.
- Save the document to another file using Document.saveToFile() method.
import com.spire.doc.*; import com.spire.doc.documents.*; import com.spire.doc.fields.DocPicture; import com.spire.doc.fields.TextRange; public class insertHeaderFooter { public static void main(String[] args) throws Exception { //Create a Document instance Document document = new Document(); //Load a sample Word document document.loadFromFile("Sample.docx"); //Get the first section Section section = document.getSections().get(0); //Call insertHeaderAndFooter method to add header and footer to the section insertHeaderAndFooter(section); //Save the document to another file document.saveToFile("output/HeaderAndFooter.docx", FileFormat.Docx); } private static void insertHeaderAndFooter(Section section) { //Get header and footer from a section HeaderFooter header = section.getHeadersFooters().getHeader(); HeaderFooter footer = section.getHeadersFooters().getFooter(); //Add a paragraph to header Paragraph headerParagraph = header.addParagraph(); //Insert a picture to header paragraph and set its position DocPicture headerPicture = headerParagraph.appendPicture("Logo.png"); headerPicture.setHorizontalAlignment(ShapeHorizontalAlignment.Left); headerPicture.setVerticalOrigin(VerticalOrigin.Top_Margin_Area); headerPicture.setVerticalAlignment(ShapeVerticalAlignment.Bottom); //Add text to header paragraph TextRange text = headerParagraph.appendText("Demo of Spire.Doc"); text.getCharacterFormat().setFontName("Arial"); text.getCharacterFormat().setFontSize(10); text.getCharacterFormat().setItalic(true); headerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Right); //Set text wrapping style headerPicture.setTextWrappingStyle(TextWrappingStyle.Behind); //Set the bottom border style of the header paragraph headerParagraph.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Single); headerParagraph.getFormat().getBorders().getBottom().setLineWidth(1f); //Adjust the header distance section.getPageSetup().setHeaderDistance(100); //Add a paragraph to footer Paragraph footerParagraph = footer.addParagraph(); //Add Field_Page and Field_Num_Pages fields to the footer paragraph footerParagraph.appendField("page number", FieldType.Field_Page); footerParagraph.appendText(" of "); footerParagraph.appendField("number of pages", FieldType.Field_Num_Pages); footerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Center); //Set the top border style of the footer paragraph footerParagraph.getFormat().getBorders().getTop().setBorderType(BorderStyle.Single); footerParagraph.getFormat().getBorders().getTop().setLineWidth(1f); //Adjust the footer distance section.getPageSetup().setFooterDistance(70); } }
Remove header and footer from Word document
There are three kinds of headers and footers in a Word documents, on first page, on odd pages and on even pages. This sample demonstrates how to remove all the headers and footers on first page, on odd pages and on even pages in a Word document using Spire.Doc for Java.
- Create a Document instance.
- Load a sample Word document using Document.loadFromFile() method.
- Get the first section using Document.getSections().get() method.
- Get all the headers and footers by section.getHeadersFooters().getByHeaderFooterType() method.
- Remove all the headers and footers using HeaderFooter.getChildObjects().clear() method.
- Save the document to another file using Document.saveToFile() method.
import com.spire.doc.*; import com.spire.doc.documents.*; public class removeHeaderFooter { public static void main(String[] args) throws Exception { //Create a Document instance Document document = new Document(); //Load a sample Word document document.loadFromFile("Test.docx"); //Get the first section Section section = document.getSections().get(0); //Remove the header on the first page HeaderFooter header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_First_Page); if (header != null) header.getChildObjects().clear(); //Remove the header on the odd pages header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Odd); if (header != null) header.getChildObjects().clear(); //Remove the header on the even pages header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Even); if (header != null) header.getChildObjects().clear(); //Remove footer on the first page HeaderFooter footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_First_Page); if (footer != null) footer.getChildObjects().clear(); //Remove footer on the odd pages footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Odd); if (footer != null) footer.getChildObjects().clear(); //Remove footer on the even pages footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Even); if (footer != null) footer.getChildObjects().clear(); //Save the result document document.saveToFile("output/RemoveHeaderfooter.docx", FileFormat.Docx_2013); } }
Conclusion
In this article, you have learned how to Add, Insert, Remove or Delete Header and Footer in Word documents with the help of Spire.Doc for Java. If you have any other questions, please feel free to check the Spire.Doc forums.
Top comments (0)