我是docx4j的新手,对于我的应用程序,我需要确定句子(或段落)是粗体。我无法弄清楚如何获取特定段落的字体样式详细信息。任何帮助表示赞赏
答案 0 :(得分:0)
您需要查找w:rPr / w:b,即运行属性元素中的粗体标记。
这可以在段落(w:p)中的运行(w:r)中,或在运行风格引用的样式中(w:rPr / w:rStyle,如果存在)或段落& #39; s style(w:p / w:pPr / w:pStyle,例如Heading1)。
由于样式可以基于其他样式,因此您需要爬上样式层次结构以检查粗体。
最简单的方法就是模仿PDF输出;见https://github.com/plutext/docx4j/blob/master/src/main/java/org/docx4j/convert/out/fo/XsltFOFunctions.java
第290行PPr级别的东西
第776行为RPr级别的东西
我假设你可以找出如何访问每个段落(参见GettingStarted);可能你应该用Java遍历(而不是通过XSLT)。