【发布时间】:2016-07-09 18:32:50
【问题描述】:
如何使用 Docx4j 将 italic 样式应用于样式段落中的特定文本?
假设一个段落,如下所示,已添加到文档中并且已经具有样式。
word1 word2 word3 word4
我需要的是 italic 样式应用到 word3 并且段落的一般样式没有被修改,所以 words word1 word2 和 word4 保持原样。
提前致谢。
【问题讨论】:
如何使用 Docx4j 将 italic 样式应用于样式段落中的特定文本?
假设一个段落,如下所示,已添加到文档中并且已经具有样式。
word1 word2 word3 word4
我需要的是 italic 样式应用到 word3 并且段落的一般样式没有被修改,所以 words word1 word2 和 word4 保持原样。
提前致谢。
【问题讨论】:
当然,您需要 word3 处于自己的运行 (w:r) 中,因此您可以将斜体 (w:i) 的运行属性 (w:rPr) 应用到它。
首先,如果需要,您需要逻辑来拆分运行。
然后简单地应用格式。要了解如何做到这一点,请创建一个应用斜体的 docx(在 Word 中)。使用 docx4j webapp 或 Word Helper AddIn 生成适用的代码。
【讨论】:
我可以通过解组如下文本字符串来实现它:
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>");
并将其添加到文档中。
【讨论】: