Apache POI - 如何在段落中间插入超链接

时间:2017-12-11 18:53:25

标签: java apache-poi

我想在段落的中间插入一个超链接。到目前为止,我设法将CTHyperlink添加到CTP的{​​{1}}中,并将XWPFParagraph添加到我想要的位置。但是,生成的文档始终将超链接放在段落的末尾。有没有办法让xml元素的顺序与运行的顺序相对应?

我将此方法添加到XWPFParagraph中,这是我用来插入超链接的方法:

XWPFHyperlinkRun

在调用此方法之前,我已经创建了ctHyperlink:

    public XWPFHyperlinkRun insertNewHyperlinkRun(int pos, CTHyperlink ctHyperlink) {
    XWPFHyperlinkRun hyperlinkRun = new XWPFHyperlinkRun(ctHyperlink, ctHyperlink.getRArray(0), this);
    int iPos = this.iruns.size();
    if (pos < this.runs.size()) {
      XWPFRun oldAtPos = (XWPFRun)this.runs.get(pos);
      int oldAt = this.iruns.indexOf(oldAtPos);
      if (oldAt != -1) {
        iPos = oldAt;
      }
    }

    this.iruns.add(iPos, hyperlinkRun);
    this.runs.add(pos, hyperlinkRun);
    return hyperlinkRun;
  }

0 个答案:

没有答案