我使用Apache POI XWPF来创建和处理MS Word文档.但我没有在文档中找到如何更改页面方向.
显然这种方式应该成功:
XWPFDocument doc = new XWPFDocument();
CTDocument1 document = doc.getDocument();
CTBody body = document.getBody();
if (!body.isSetSectPr()) {
body.addNewSectPr();
}
CTSectPr section = body.getSectPr();
if(!section.isSetPgSz()) {
section.addNewPgSz();
}
CTPageSz pageSize = section.getPgSz();
pageSize.setOrient(STPageOrientation.LANDSCAPE);
Run Code Online (Sandbox Code Playgroud)
但是这种方法不能正常工作.我可以将页面方向设置为横向,当我在代码中读取页面方向时,我会获得横向.行.但是,如果我打开保存的文件,我就是肖像格式.此设置实际上不起作用.可能是什么问题呢?
作为一种解决方法,我被迫开始使用横向或纵向格式手动创建的空白文档.但是我希望以所需的方向从头开始以编程方式创建文档.
例如,POI HSSF和XSSF具有在横向和纵向模式之间切换的功能.它是setLandscape()org.apache.poi.ss.usermodel.PrintSetup接口的方法.
但是,我们XWPF还是HWPF?