Page Margins - plutext/docx4j-ImportXHTML GitHub Wiki
Overall page margins are specified in the standard docx4j object.
Example:
public static WordprocessingMLPackage createDocxDocumentWithCustomMargins()
{
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage(PageSizePaper.A4, false);
ObjectFactory objectFactory = new ObjectFactory();
SectPr.PgMar pageMargin = new SectPr.PgMar();
pageMargin.setTop(getDocxMarginFromMillis(10));
pageMargin.setBottom(getDocxMarginFromMillis(10));
pageMargin.setRight(getDocxMarginFromMillis(10));
pageMargin.setLeft(getDocxMarginFromMillis(10));
SectPr sectPr = objectFactory.createSectPr();
wordMLPackage.getMainDocumentPart().getJaxbElement().getBody().setSectPr(sectPr);
sectPr.setPgMar(pageMargin);
}
public static BigInteger getDocxMarginFromMillis(int marginInMillis)
{
// 1440[docx-margin-unit] is 1[inch] = 2.54[cm]
int marginInDocxUnit = UnitsOfMeasurement.mmToTwip(marginInMillis);
return new BigInteger(String.valueOf(marginInDocxUnit));
}