我正在尝试使用“Apache POI”从.doc MS Word文件中提取嵌入式方程和文本到.ppt MS Powerpoint文件中,我已成功提取文本,但如何提取嵌入式方程?
如果我只将它提取为文本,那么嵌入式方程就像这样:
!!EMBED Equation.3
答案 0 :(得分:3)
这可能无法帮助您使用二进制.doc格式,但对于较新的.docx格式,我能够使用以下代码获取嵌入为OLE文档的等式:
InputStream in = new FileInputStream(f);
XWPFDocument doc = new XWPFDocument(in);
for (PackagePart p : doc.getAllEmbedds()) {
POIFSFileSystem poifs = new POIFSFileSystem(p.getInputStream());
byte[] oleData = IOUtils.toByteArray(
poifs.createDocumentInputStream("Equation Native"));
}
然后你可以在那里extract the MathType data并将其交给a MTEF parser。
如果您不需要MathType数据,还有一个占位符图像(采用WMF格式),只需渲染等式。