Есть ли программный способ извлечения уравнений (и, возможно, изображений) из документа MS Word? Я погуглил повсюду, но еще не нашел ничего, в чем я мог бы вонзиться зубами и над чем работать. Если возможно, я хотел бы сделать это с помощью VB.NET или C#, но я могу подобрать достаточно любого языка, чтобы взломать DLL. Спасибо!
Обновлено: Сейчас я собираюсь извлечь уравнения из Word 2003, но если требуется преобразование в 2007 / Open XML, это нормально.





Попробуйте посмотреть конвертер Слово в латекс. Для этого требуется платформа .Net, и хотя исходный код еще не открыт, автор все же задает вопросы по этому поводу.
В каком формате Word находятся ваши документы? Если они находятся в формате Open XML (расширение файла .docx), вы можете использовать Open XML SDK, доступный от Microsoft, для извлечения изображений и встроенного контента.
Файл Open XML - это не что иное, как zip-архив с особой структурой. В SDK вы найдете примеры доступа к частям этого zip-архива. Фактически вы можете использовать любую библиотеку с поддержкой zip для извлечения содержимого из пакета документов.
Если в документах по-прежнему используется старый двоичный формат, все немного сложнее. Я думаю, что проще всего было бы преобразовать документы в формат Open XML. Есть несколько способов сделать это:
Установите Microsoft Пакет совместимости и используйте следующую командную строку для преобразования:
"C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme input\_file output_file
где input_file и output_file должны быть полными именами пути.
Я не знаю, поможет ли что-либо из этого, но объектная модель в Word 2000/2003 имеет коллекцию InlineShapes как часть объекта Document, который представляет встроенные изображения и, возможно, подобные объекты, такие как уравнения.
Некоторый код VBA для копирования первого элемента в буфер обмена, который может помочь вам извлечь их:
ThisDocument.InlineShapes.Items(1).Select
Selection.Copy
Он также доступен в .NET, Ссылка MSDN.