我正在尝试使用 MathType 的 SDK 将存储为 OLE 二进制文件的 MathType 方程转换为 MathML。
我的程序的输入文件是一个包含嵌入式 MathType 方程的 DocX。我正在寻找一种独立于使用 MS Word 的解决方案。DocX 是一个 zip 文件,解压后,我们可以在“word/embeddings/”文件夹中找到每个 OLE 对象的二进制文件。通常文件名是 oleObject1.bin、oleObject2.bin 等。
当我检查 MathType SDK 时,它有一个类“ConvertEquation”,它具有以下方法:
virtual public bool Convert(EquationInput ei, EquationOutput eo)
EquationInput 是一个抽象类,可以使用以下具体类:
EquationInputFileText
EquationInputFileWMF2
EquationInputFileWMF
EquationInputFileGIF
EquationInputFileEPS
在上面列出的类中,它们似乎都不支持 OLE 二进制文件。
根据 MathType 的 SDK 文档,MTEF 数据被保存为对象的原生数据格式。每当将方程对象写入 OLE“流”时,都会写入一个 28 字节的标头,然后是 MTEF 数据。我想这正是这个二进制文件中存在的内容。但似乎没有办法让 SDK 使用这种格式将其转换为 MathML。有什么想法吗?
谢谢