Reading through your posts - I just wanted to put down my experiences and feeling on this subject. I am currently using docx4j but only at a fairly basic level to extract and recompile the docx file.
We need a system for mail merge with the data coming from our package and need to perform the mail merge server side to improve performance. Currently we take the docx on the client side and use docx4j to strip out the document.xml and send this to the server, there we perform a straight search and replace on a series of SET fields in the document then reassemble the document and update bookmarks in the document.
At present it works very quickly thanks to the fast processing on the server side but we have hit a complete blocker in that this does not work for multi line merge fields. For example if we want to merge an address where we have:
1 High Street,
This shows as a single line and prints the carriage return and line feed characters as visible characters in a single line.
I see you talking about docx4j's data binding facilities and wonder if you have experienced a similar problem, also I like the sound of being able to bind the fields and scrip the bookmars all together as this would simply things a lot. Thanks for any help/comments.
PS when I talk about server side - our java app connects to a jboss server for application server processing - connected to a mysql database.