如何通过aspose.word for java 识别文档中的上下标

测试数据.docx (10.1 KB)

您可以看下附件中的示例,具体就是我通过aspose word 读取到的数据中无法准确拿到对应的内容,上下标内容会变成具体的文本内容。请问有什么办法能区分具体的上下标吗?

@wangyan 这是 “上标” 和 “下标” 字体属性。您可以使用以下代码进行检查:

Document doc = new Document("input.docx");
Iterable<Run> runs = doc.getChildNodes(NodeType.RUN, true);
for(Run r : runs)
{
    if(r.getFont().getSubscript() || r.getFont().getSubscript())
    {
        // .....
    }
}

但您提供的文档中只有一个上标值可以检测到。其他值看起来像插入的符号,我们无法检测。您可以按以下方法通过代码插入这些值:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.write("" + (char) 0x00B9);
doc.save("output.docx");