0

我使用 docx4j 和以下代码对 word 文档进行搜索和替换:

WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File(pathFinder.findUploadPath() + filename));

        //Get all text elements out of the doc
        List texts = wordMLPackage.getMainDocumentPart().getJAXBNodesViaXPath(XPATH_TO_SELECT_TEXT_NODES, true);

        // Loop through all "text" elements
        for (Object obj : texts) {
            Text text = (Text) ((JAXBElement) obj).getValue(); //get the value of the object

            // Get the string value
            String textValueBefore = text.getValue();

            text.setValue(string_afterwards);
        }

“string_afterwards”是由其他一些代码行生成的字符串。

我的问题是,格式化这个字符串,使它以粗体显示
有没有机会在不改变搜索和替换行的情况下做到这一点?
像在字符串中添加标签 < b > 之类的东西?

4

1 回答 1

1

您需要更改 XPATH_TO_SELECT_TEXT_NODES 以便它选择感兴趣的文本节点的父 w:r 元素。

然后确保 w:r 具有 aw:rPr(运行属性元素),并将其设置为粗体。

于 2012-06-23T21:25:42.800 回答