我正在尝试从MS docx文件中获取样式信息,使用粗体,斜体等添加的样式编写文件内容没有问题.字体大小等,但阅读文件内容和获取样式信息并不是那么清楚.我尝试过使用XWPFDocument,这个API似乎没有能力读取样式.我现在正在尝试XWPFWordExtractor,它似乎有点更有希望,但我仍然无法获取文本的样式信息.
我阅读的内容类型与以下内容类似.
“你好,这是粗体文字,这是斜体文字abd这是粗体斜体文字”
任何指向示例的指针都会很棒.
解决方法:
好的,基于Gagravarr的评论,解决方案如下所示,完全符合我的要求.所以基本上Gagravarr回答了这个问题,但我不确定除了说它听到给他信任之外还有多少.
for (XWPFParagraph paragraph : docx.getParagraphs()) {
int pos = 0;
for (XWPFRun run : paragraph.getRuns()) {
System.out.println("Current run IsBold : " + run.isBold());
System.out.println("Current run IsItalic : " + run.isItalic());
for (char c : run.text().toCharArray()) {
System.out.print(c);
pos++;
}
System.out.println();
}
}
`
输出如下
当前运行IsBold:false
当前运行IsItalic:false
“你好,这是
当前运行IsBold:true
当前运行IsItalic:false
粗体
当前运行IsBold:false
当前运行IsItalic:false
这是
当前运行IsBold:false
当前运行IsItalic:是的
斜体文字
当前运行IsBold:false
当前运行IsItalic:false
一个
当前运行IsBold:false
当前运行IsItalic:false
ñ
当前运行IsBold:false
当前运行IsItalic:false
这是
当前运行IsBold:true
当前运行IsItalic:是的
粗体斜体文字
当前运行IsBold:false
当前运行IsItalic:false
“