Свойства раздела по умолчанию для документа Word
задаются только в теле, а не в абзаце.Если свойства раздела находятся в абзаце, то это свойства для дополнительных разделов, например, если документ содержит части в альбомной ориентации и части в портретном формате.
Минимальный рабочий пример для создания документа Word
, имеющего буквуРазмер бумаги только в альбомном формате:
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.*;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.*;
public class CreateWordLandscape {
public static void main(String[] args) throws Exception {
XWPFDocument document= new XWPFDocument();
CTDocument1 ctDocument = document.getDocument();
CTBody ctBody = ctDocument.getBody();
CTSectPr ctSectPr = (ctBody.isSetSectPr())?ctBody.getSectPr():ctBody.addNewSectPr();
CTPageSz ctPageSz = (ctSectPr.isSetPgSz())?ctSectPr.getPgSz():ctSectPr.addNewPgSz();
ctPageSz.setOrient(STPageOrientation.LANDSCAPE);
//paper size letter
ctPageSz.setW(java.math.BigInteger.valueOf(Math.round(11 * 1440))); //11 inches
ctPageSz.setH(java.math.BigInteger.valueOf(Math.round(8.5 * 1440))); //8.5 inches
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run=paragraph.createRun();
run.setText("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.");
FileOutputStream out = new FileOutputStream("CreateWordLandscape.docx");
document.write(out);
out.close();
document.close();
}
}