11

ドキュメントの作成と処理には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には、横向きモードと縦向きモードを切り替える機能があります。インターフェイスのsetLandscape()メソッドですorg.apache.poi.ss.usermodel.PrintSetup

しかし、XWPFまたはHWPFはどうですか?

4

2 に答える 2