2016-12-02 10 views
0

Apache POIを使用して作成された複数のWord Table内に単一スペーシング(またはスペーシングなし)を試みています。既定のパラメータを使用してXWPFTableを作成すると、スペーシングはNormalに設定されます(間違っていない場合は1.5)が、デフォルトスペーシングを変更する方法はわかりません。Apache POIを使用したWord Tableの単一スペーシング

答えて

1

問題の段落の段落プロパティを設定することでこれを行うことができます。残念ながら、適切なプロパティはAPIには含まれていません。これをbugzilla https://bz.apache.org/bugzilla/buglist.cgi?product=POIで報告してください。私は次のリリースにそれを取得しようとします。平均時間では、次のメソッドを追加することでXWPFParagraphを変更することができます:

public void setSpacingBetween(int spaces, LineSpacingRule rule) { 
    CTSpacing spacing = getCTSpacing(true); 
    spacing.setLine(new BigInteger("" + spaces)); 
    spacing.setLineRule(STLineSpacingRule.Enum.forInt(rule.getValue())); 
} 

または(pは、あなたの段落です)あなたは、このように段落のプロパティに適切な属性を追加するには、CTクラスを使用することができます。

CTP ctP = p.getCTP(); 
CTPPr ctPr = ctP.isSetPPr() ? ctP.getPPr() : ctP.addNewPPr(); 
CTSpacing ctSpacing = ctPr.isSetSpacing() ? ctPr.getSpacing() : ctPr.addNewSpacing(); 
ctSpacing.setLine(new BigInteger("240")); 
関連する問題