我使用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);
但是这种方法不能正常工作。我可以将页面方向设置为横向,当我在代码中读取页面方向时,我得到的是横向。没问题。但是如果我打开保存的文档,它却是纵向格式。实际上这个设置并没有起作用。可能是什么问题呢?
作为解决方法,我被迫从手动创建的横向或纵向格式的空白文档开始工作。但我想以所需的方向从头编程创建文档。
例如,POI HSSF 和 XSSF 有在横向和纵向模式之间切换的功能。这是
org.apache.poi.ss.usermodel.PrintSetup
接口的 setLandscape() 方法。那么
XWPF
或者 HWPF
呢?