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

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

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

Ответы [ 2 ]

13 голосов
/ 28 февраля 2009

Примеры и пример кода на сайте apache довольно хороши. Я рекомендую вам начать там.

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

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

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

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

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

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

1 голос
/ 28 февраля 2009

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

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

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

...