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.
To resolve the class CTPageMar
you will have to add the package org.apache.poi:ooxml-schema
to your classpath. The corresponding JAR contains all schemas. You can find more information here.