apache poi - How to set header and Footer position in poi word (XWPF)? -


i want set header , footer's position. header top: 45.4 pt, footer bottom: 28.4 pt can see in header & footer tools menu when open word file. in advance! enter image description here

for need setting page margins. need org.openxmlformats.schemas.wordprocessingml.x2006.main.ctpagemar. , using need ooxml-schemas-1.3.jar mentioned in https://poi.apache.org/faq.html#faq-n10025.

example:

import java.io.*;  import org.apache.poi.xwpf.usermodel.*;  import org.apache.poi.xwpf.model.xwpfheaderfooterpolicy;  import org.openxmlformats.schemas.wordprocessingml.x2006.main.ctsectpr; import org.openxmlformats.schemas.wordprocessingml.x2006.main.ctpagemar;  import java.math.biginteger;  public class createwordheaderfootertopbottom {   public static void main(string[] args) throws exception {    xwpfdocument document = new xwpfdocument();    // create header-footer   xwpfheaderfooterpolicy headerfooterpolicy = document.getheaderfooterpolicy();   if (headerfooterpolicy == null) headerfooterpolicy = document.createheaderfooterpolicy();    // create header start   xwpfheader header = headerfooterpolicy.createheader(xwpfheaderfooterpolicy.default);    xwpfparagraph paragraph = header.createparagraph();   paragraph.setalignment(paragraphalignment.center);    xwpfrun run = paragraph.createrun();     run.settext("header");    // create footer start   xwpffooter footer = headerfooterpolicy.createfooter(xwpfheaderfooterpolicy.default);    paragraph = footer.createparagraph();   paragraph.setalignment(paragraphalignment.center);    run = paragraph.createrun();     run.settext("footer");    ctsectpr sectpr = document.getdocument().getbody().getsectpr();   if (sectpr == null) sectpr = document.getdocument().getbody().addnewsectpr();   ctpagemar pagemar = sectpr.getpgmar();   if (pagemar == null) pagemar = sectpr.addnewpgmar();   pagemar.setleft(biginteger.valueof(720)); //720 twentieths of inch point (twips) = 720/20 = 36 pt = 36/72 = 0.5"   pagemar.setright(biginteger.valueof(720));   pagemar.settop(biginteger.valueof(1440)); //1440 twips = 1440/20 = 72 pt = 72/72 = 1"   pagemar.setbottom(biginteger.valueof(1440));    pagemar.setheader(biginteger.valueof(908)); //45.4 pt * 20 = 908 = 45.4 pt header top   pagemar.setfooter(biginteger.valueof(568)); //28.4 pt * 20 = 568 = 28.4 pt footer bottom    document.write(new fileoutputstream("createwordheaderfootertopbottom.docx"));    document.close();   } } 

note special measurement unit twip = twentieths of inch point.


Comments

Popular posts from this blog

inversion of control - Autofac named registration constructor injection -

verilog - Systemverilog dynamic casting issues -

ios - Change Storyboard View using Seague -