【问题标题】:Single spacing in Word Table using Apache POI使用 Apache POI 在 Word 表中的单个间距
【发布时间】:2016-12-07 22:36:51
【问题描述】:

我正在尝试在使用 Apache POI 创建的多个 Word 表中获得单个间距(或无间距)。如果我使用默认参数创建XWPFTable,则间距设置为Normal(如果我没记错的话是1.5),但我不知道如何更改默认间距。

【问题讨论】:

    标签: java apache-poi


    【解决方案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()));
    }
    

    或者您可以使用 CT 类将适当的属性添加到段落属性,如下所示(其中 p 是您的段落):

    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"));
    

    【讨论】:

      猜你喜欢
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 2018-02-24
      相关资源
      最近更新 更多