Java と Apache POI ライブラリを使用して、横向きページと縦向きページを含む Word ドキュメントを作成しようとしています。すべてのページの向きを変更できますが、一部のページの向きだけを変更する方法はありますか? さまざまなセクションとボディを使用してみましたが、役に立ちませんでした。
現時点では、XWPFDocument を入力として受け取り、新しいボディの向きを変更する関数を作成しました。新しい本文の向きを変更しても前のページには影響しないと思っていましたが、ドキュメント全体に影響します。
private void changeOrientation(XWPFDocument document, String orientation){
CTDocument1 doc = document.getDocument();
CTBody body = doc.addNewBody();
body.addNewSectPr();
CTSectPr section = body.getSectPr();
if(!section.isSetPgSz()) {
section.addNewPgSz();
}
CTPageSz pageSize = section.getPgSz();
if(orientation.equals("landscape")){
pageSize.setOrient(STPageOrientation.LANDSCAPE);
pageSize.setW(BigInteger.valueOf(842 * 20));
pageSize.setH(BigInteger.valueOf(595 * 20));
}
else{
pageSize.setOrient(STPageOrientation.PORTRAIT);
pageSize.setH(BigInteger.valueOf(842 * 20));
pageSize.setW(BigInteger.valueOf(595 * 20));
}
}
ありがとう!