Извлечение уравнений и изображений из Word

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

Обновлено: Сейчас я собираюсь извлечь уравнения из Word 2003, но если требуется преобразование в 2007 / Open XML, это нормально.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
0
3 698
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Попробуйте посмотреть конвертер Слово в латекс. Для этого требуется платформа .Net, и хотя исходный код еще не открыт, автор все же задает вопросы по этому поводу.

В каком формате Word находятся ваши документы? Если они находятся в формате Open XML (расширение файла .docx), вы можете использовать Open XML SDK, доступный от Microsoft, для извлечения изображений и встроенного контента.

Файл Open XML - это не что иное, как zip-архив с особой структурой. В SDK вы найдете примеры доступа к частям этого zip-архива. Фактически вы можете использовать любую библиотеку с поддержкой zip для извлечения содержимого из пакета документов.

Если в документах по-прежнему используется старый двоичный формат, все немного сложнее. Я думаю, что проще всего было бы преобразовать документы в формат Open XML. Есть несколько способов сделать это:

  • Получите бесплатный и открытый b2xtranslator от SourceForge, который предлагает вам C# dll для преобразования файлов.
  • Установите 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.

Другие вопросы по теме