Как использовать Apache POI для чтения файла .DOC на Java, чтобы отделить изображения от текста?

Мне нужно прочитать файл Word .doc с Java, содержащий текст и изображения. Мне нужно распознать изображения и текст и разделить их на 2 файла.

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

Ответов (2)

Примеры и образец кода на сайте Apache довольно хороши. Я рекомендую вам начать с этого.

http://poi.apache.org/hwpf/quick-guide.html

Чтобы получить определенные фрагменты текста, сначала создайте org.apache.poi.hwpf.HWPFDocument. Получите диапазон с помощью getRange (), а затем получите из него абзацы. Затем вы можете получить текст и другие свойства.

Вот пример извлечения изображения. Здесь вы найдете последнюю версию на момент написания статьи.

И, конечно же, Javadocs

Обратите внимание, что, согласно сайту POI,

HWPF все еще находится на ранней стадии разработки.

Это не бесплатно (и даже не дешево!), Но Aspose.Words должен это делать. Их ознакомительная загрузка позволит вам поиграть с небольшими файлами.

Должны ли файлы назначения также быть Документами? Вы можете открыть документы в Office и сохранить их в формате HTML. Тогда разделение становится тривиальным. RTF также является жизнеспособным вариантом, но я не могу рекомендовать хороший анализатор RTF из головы.

Отредактируйте, чтобы сказать: я только что вспомнил еще одно возможное решение: Джейкоб , но вам понадобится экземпляр Office, работающий на том же компьютере. Это сокращение от Java COM Bridge и позволяет вам обращаться к библиотекам COM в Office для управления документами. Уверен, это не так страшно, как может показаться!