Как использовать встроенные уравнения в библиотеке Java Apache POI? - PullRequest
2 голосов
/ 26 июля 2011

Я пытаюсь использовать «Apache POI» для извлечения встроенного уравнения и текста из файла MS Word .doc в файл .ppt MS Powerpoint. Я успешно извлек текст, но как мне извлечь встроенные уравнения?

Встроенные уравнения получаются такими, если я извлекаю их только как текст:

!!EMBED Equation.3

1 Ответ

3 голосов
/ 10 августа 2012

Это может не помочь вам с двоичным форматом .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"));
 }

И затем вы можете извлечь данные MathType и передать их анализатору MTEF .

Если вам не нужны данные MathType, есть также изображение-заполнитель (в формате WMF), которое просто отображает уравнение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...