Я ищу что-нибудь на Java для чтения в документах Word для обработки их текста ... все, что мне нужно, это текст, ничего особенного. Я знаю про Apache POI, но сейчас он не поддерживает DOCX, что-нибудь там есть?
Чтение документов Microsoft Word в виде обычного текста (DOC, DOCX) на Java
Ответы (4)
Если вам не нужна информация о форматировании, изображения и все прочие причудливые вещи, тогда работа будет намного проще. Достаточно от 5 до 10 строк кода.
- Рассматривайте DOCX как zip-файл. Он состоит из группы файлов, в которую входит «document.xml». Используйте ZipInputStream и извлеките только этот файл. (вы можете использовать свою любимую zip-утилиту, открыть docx и убедиться в этом сами!)
- Используйте парсер SAX и прочитайте содержимое между телом узла / p / r / t - вуаля, вы получили текст!
Это применимо, только если вам нужен только текст.
Погуглив, я нашел OpenXML4J. Это может решить вашу проблему. Я не использовал это, пока не уверен, что кто-то в сообществе будет лучше разбираться в этом.
Примечание: это повторяющийся вопрос. Это решение плюс небольшое обсуждение. Ссылка на вопрос.
Попробуйте apache poi - он может обрабатывать документы doc, docx, xls, xlsx, ppt, pptx.
Еще одно решение производственного уровня - это OpenOffice в автономном режиме, который можно использовать даже в сценарии на стороне сервера.
Вы можете попробовать docx4j; см. http://dev.plutext.org/svn/docx4j/trunk/docx4j/src/main/java/org/docx4j/TextUtils.java.