You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Apache POI XWPF在Word中实现含文本的形状框?

使用Apache POI XWPF创建Word内含文本的形状框问题

我希望使用Apache POI XWPF在Word中创建内含文本的形状框,效果如下所示:
text in a box

该示例是通过Word原生功能制作的带文本形状。但我使用XWPF无法正确实现,尝试以下代码后,仅生成了形状,但文本不在形状内,且形状无填充色。

尝试的代码:

public void createDocument() throws IOException {
    XWPFDocument doc = new XWPFDocument();
    XWPFParagraph paragraph = doc.createParagraph();
    XWPFRun run = paragraph.createRun();
    run.setText("The text");

    CTGroup ctGroup = CTGroup.Factory.newInstance();
    CTShape ctShape = ctGroup.addNewShape();
    ctShape.setStyle("width:100pt;height:50pt");
    ctShape.setFillcolor("FF0000");

    Node ctGroupNode = ctGroup.getDomNode();
    try {
        CTPicture ctPicture = CTPicture.Factory.parse(ctGroupNode);
        CTR cTR = run.getCTR();
        cTR.addNewPict();
        cTR.setPictArray(0, ctPicture);
    } catch (XmlException ex) {
    }

    try ( OutputStream stream = new BufferedOutputStream(new FileOutputStream(file))) {
        doc.write(stream);
    }
    doc.close();
}

我参考过创建Word文本框的相关示例,但问题仍未解决。

内容的提问来源于stack exchange,提问作者Hervé Girod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 05:02:42