How do I set page margins for a Word document using apache poi?

advertisements

I want to set page-margins for word document created using apache poi-3.9. I found it can be done using CTPageMar but CTPageMar is not being resolved. I am using apache poi-3.9

I tried this

CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
    CTPageMar pageMar = sectPr.addNewPgMar();
    pageMar.setLeft(BigInteger.valueOf(720L));
    pageMar.setTop(BigInteger.valueOf(1440L));
    pageMar.setRight(BigInteger.valueOf(720L));
    pageMar.setBottom(BigInteger.valueOf(1440L));


As far as I understand, the problem is not related to the provided code, it is connected with missing CTPageMar class.

The source of missing classes problem is clearly explained in Apache POI FAQ:

To use the new OOXML file formats, POI requires a jar containing the file format XSDs [...] You can download the jar by hand from the POI Maven Repository.

URL from FAQ is not working, but you can find required jar in central maven repo.