如何获取一个完整的OfficeMath

您好。我有一个文件
test.docx (35.3 KB)

我希望完整识别出来表格中的公式,但是出现了几个问题;
1.我尝试使用
paragraph.getChildNodes(NodeType.OFFICE_MATH, true)但是会产生子OfficeMath对象,导致我不知道完整的OfficeMath对象是哪个;
2.文件中的公式实际上是两个OfficeMath拼起来的,我尝试用
Object nodeEntity = layoutCollector.getEntity(node);
去获取这两个OfficeMath对象的位置,但是返回的是null不知道什么原因。
3.所以我希望知道基于这个文件如何获取到完整的公式。这样我可以进行格式化操作。

@qhkyqhfe 您可以使用以下简单代码来检测 OfficeMath 是否处于顶级。

Document doc = new Document("C:\\Temp\\in.docx");

Iterable<OfficeMath> maths = doc.getChildNodes(NodeType.OFFICE_MATH, true);
for (OfficeMath m : maths)
{
    if (m.getAncestor(NodeType.OFFICE_MATH) == null)
    {
        // This is a top level office math
    }
}