Apache POI (3.12 with ooxml-schemas 1.1) を介して XWPF docx にテーブルを挿入しようとしています。
私は使用しています
CTTblWidth oWidth = oTable.getCTTbl().getTblPr().addNewTblW();
oWidth.setType(STTblWidth.PCT);
oWidth.setW(BigInteger.valueOf(iWidth));
テーブルの幅を設定します。試行錯誤の結果、iWidth = 5000 が妥当な値のようです。
ページ幅を動的に取得しようとしました
CTBody oBody = m_oDocx.getDocument().getBody();
if (!oBody.isSetSectPr()) oBody.addNewSectPr();
CTSectPr oSect = oBody.getSectPr();
if (!oSect.isSetPgSz()) oSect.addNewPgSz();
CTPageSz pageSize = oSect.getPgSz();
BigInteger oPageSize.getW();
しかし、これは DINA4 に対して 11906 の値を返しますが、これはかなり離れています。次のような方法でマージンを差し引く場合でも:
oPageSize.getW().subtract(oSect.getPgMar().getRight()).subtract(oSect.getPgMar().getLeft())
私はまだ目標から遠く離れています。
ここで私が見逃していることを誰かに教えてもらえますか? ありがとう