如何使用Docx4j将斜体样式应用于样式段落中的特定文本?
让我们说一个段落,如下所示,已添加到文档中,并且它已经有了样式。
word1 word2 word3 word4
我需要的是将斜体样式应用于 word3 ,并且不会修改段落的一般样式,因此单词 word1 word2 和 word4 保持原样。
提前致谢。
答案 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>");
并将其添加到文档中。