Если вы контролируете исходные документы Word, вы можете запретить Word вставлять rsid и выделять грамматические / орфографические ошибки.
Word.Options opts = Word.Options;
opts.CheckGrammarAsYouType = false;
opts.CheckGrammarWithSpelling = false;
opts.CheckSpellingAsYouType = false;
opts.StoreRSIDOnSave = false;
Слова по-прежнему будут разделяться, если, например, вы измените шрифт частично через слово.
Хммм, у меня есть простой + уродливый бит xslt, который я использовал для очистки WordML, как пример, который вы опубликовали. Я мог бы передать его в docx4j, если вы этого хотите, но, как вы говорите, существуют различные комбинации, которые не будут охвачены. В любом случае, если вы хотите, пожалуйста, пишите на форум docx4j.
Более надежный подход заключается в извлечении простого текста и связывании простого текста с XML, чтобы вы могли искать простой текст и переходить оттуда к XML.