工夫したところ

  • JasperReport で生成したものは表としてレイアウトされているので、その表自体を左寄せではなく中心に配置したこと
    • →Word の表は、デフォルトの左寄せだと少し余白に線がはみ出すようなので
    • →直感的な API は無かった
  • 上記の表の各セルは、行間が広すぎるので、行間の設定を行ったこと
    • →行間を狭くするだけなら XWPFParagraph#setSpacing* メソッドでできる
    • →行の間隔を最小にしても、まだ広すぎる場合、行の間隔を固定値にして指定したいが、XWPFParagraph に CTSpacing#setLine を呼ぶメソッドが無いので、private メソッドを真似した実装になる
    • →行の間隔に指定したい pt の値に 20 をかけた値を設定する(経験則)
  • 書式を設定した表を雛形ファイルにコピーしたこと
    • 表をコピーするのに、表を生成してインデックスを指定してセットする
  • 雛形のファイルにある改行を消したこと
    • →改行が残るとレイアウトがずれる