Docx4J is a Java library to create and modify Microsoft Open XML (Word docx, Powerpoint pptx, and Excel xlsx) files.
It is a very complete and stable solution to work on docx files. The API matches the XML structure closely and so it is sometimes difficult to use.
I created a fluent like interface to Docx4j time ago which I have recently open sourced under the GDocx name. GDocx let to use Docx4j in a much simpler way.
Project home is at https://java.net/projects/gdocx where you can download the library, read some documentation and also comment, if you like, on the dedicated forum.