【发布时间】:2011-07-26 13:13:31
【问题描述】:
我正在尝试使用“Apache POI”将嵌入的方程式和文本从 .doc MS Word 文件提取到 .ppt MS Powerpoint 文件中,我已成功提取文本,但如何提取嵌入的方程式?
如果我只将其提取为文本,嵌入式方程就会出现这样的结果:
!!EMBED Equation.3
【问题讨论】:
标签: java ms-office apache-poi
我正在尝试使用“Apache POI”将嵌入的方程式和文本从 .doc MS Word 文件提取到 .ppt MS Powerpoint 文件中,我已成功提取文本,但如何提取嵌入的方程式?
如果我只将其提取为文本,嵌入式方程就会出现这样的结果:
!!EMBED Equation.3
【问题讨论】:
标签: java ms-office apache-poi
这对于二进制 .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 格式),它只是呈现方程。
【讨论】: