In this blog, you will learn how to add headers and footers in a Word document in Java applications.
Contents Summary:
- Add text to header
- Add image to header
- Add page numbers to footer
The following example uses a free Java API - Free Spire.Doc for Java to achieve the above functionalities.
First of all, you need to add needed dependencies for including Free Spire.Doc for Java into your Java project. There are two ways to do that.
If you use maven, you need to add the following code to your project’s pom.xml file.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc.free</artifactId>
<version>2.7.3</version>
</dependency>
</dependencies>
For non-maven projects, download Free Spire.Doc for Java pack from this website and add Spire.Doc.jar in the lib folder into your project as a dependency.
Using the code 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 AddHeaderAndFooter { public static void main(String[] args) throws Exception { //load a Word document Document doc= new Document("Input.docx"); //get the first section Section sec = doc.getSections().get(0); //call AddHeaderFooter method to add header and footer to the document AddHeaderFooter(sec); //save the result document doc.saveToFile("AddHeaderFooter.docx"); }
//create a method to add image, text to header and page number to footer private static void AddHeaderFooter(Section sec){ //add image to header HeaderFooter header = sec.getHeadersFooters().getHeader(); Paragraph hpara= header.addParagraph(); DocPicture pic =hpara.appendPicture("logo.jpg"); pic.setWidth(50); pic.setHeight(30); pic.setHorizontalAlignment(ShapeHorizontalAlignment.Left); pic.setVerticalOrigin(VerticalOrigin.Top_Margin_Area); pic.setVerticalAlignment(ShapeVerticalAlignment.Center); pic.setTextWrappingStyle(TextWrappingStyle.Behind);
//add text to header TextRange txt = hpara.appendText("Text Header"); txt.getCharacterFormat().setUnderlineStyle(UnderlineStyle.None); txt.getCharacterFormat().setTextColor(Color.GRAY); txt.getCharacterFormat().setFontName("Calibri"); txt.getCharacterFormat().setFontSize(12f); txt.getCharacterFormat().setBold(true); hpara.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);
//set bottom border for header hpara.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Single); hpara.getFormat().getBorders().getBottom().setLineWidth(0.5f); hpara.getFormat().getBorders().setSpace(2f);
//add page number to footer HeaderFooter footer = sec.getHeadersFooters().getFooter(); Paragraph fpara= footer.addParagraph(); fpara.appendField("page",FieldType.Field_Page); fpara.appendText(" of "); fpara.appendField("number of pages",FieldType.Field_Num_Pages);
//set alignment and top boder for footer fpara.getFormat().setHorizontalAlignment(HorizontalAlignment.Right); fpara.getFormat().getBorders().getTop().setBorderType(BorderStyle.Single); fpara.getFormat().getBorders().getTop().setLineWidth(1f); fpara.getFormat().getBorders().getTop().setSpace(2f); } }
Output:
Comments
Post a Comment