使用Docx4j将样式应用于样式段落中的特定文本

时间:2016-03-22 17:50:11

标签: java docx4j

如何使用Docx4j将斜体样式应用于样式段落中的特定文本?

让我们说一个段落,如下所示,已添加到文档中,并且它已经有了样式。

word1 word2 word3 word4

我需要的是将斜体样式应用于 word3 ,并且不会修改段落的一般样式,因此单词 word1 word2 word4 保持原样。

提前致谢。

2 个答案:

答案 0 :(得分:0)

当然,你需要word3在它自己的run(w:r)中,所以你可以将斜体(w:i)的run属性(w:rPr)应用到它。

首先,如果需要,你需要逻辑来分割运行。

然后只需应用格式。要了解如何执行此操作,请创建一个docx(在Word中说),并应用斜体。使用docx4j webapp或Word Helper AddIn生成适用的代码。

答案 1 :(得分:0)

我能够通过解组文本字符串来实现它,如下所示:

p = (P) XmlUtils.unmarshalString(
    "<w:p xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:xml=\"http://www.w3.org/XML/1998/namespace\">"
    + "<w:pPr><w:pStyle w:val=\"style\"/></w:pPr>"
    + "<w:r><w:t xml:space=\"preserve\">word1 word2 </w:t></w:r>"
    + "<w:r><w:rPr><w:i/></w:rPr><w:t>word3</w:t></w:r>"
    + "<w:r><w:t xml:space=\"preserve\"> word4</w:t></w:r></w:p>");

并将其添加到文档中。