Java-How to Add or Remove Header and Footer in Word documents
Tags: java, word, header, footer
Published: 2022-04-27 03:14:24

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:

- [Add header and footer to Word document](#add-header-and-footer-to-word-document)

- [Remove header and footer from Word document](#remove-header-and-footer-from-word-document)

### 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.

```java
<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](https://www.e-iceblue.com/Download/doc-for-java.html), 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.

```java
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);
    }
}

```

![Insert header and footer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d91ghanyhsetpkxnpwmd.png)

### 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.

```java
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);

    }
}
```

![Remove header and footer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a2q73t1db5r7vq5ihxf7.png)

### 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](https://www.e-iceblue.com/Introduce/doc-for-java.html). If you have any other questions, please feel free to check the [Spire.Doc forums](https://www.e-iceblue.com/forum/spire-doc-f6.html).