В прошлом я решал подобные проблемы, используя OpenOffice.org Java API. Он не совсем легкий, но условия лицензирования щедры и поддерживают сообщество разработчиков, заинтересованное в том, чтобы убедиться, что оно может анализировать любые странности, которые Microsoft создает для формата файлов Word. Может стоит посмотреть.