Writing Word/RTF Docs In Java

Working on Zest I’ve need something to write a document that get be opened by word. I’ve found several posts about this, so just thought I’d summarise what I thought:

1) You can use srw, which is really easy to create an RTF file, and I’ve modified it to support columns.
2) You can use iText but I think you have to use a version prior to the latest one.
3) You can use Apache POI to create an actual word .doc but you have to load from a template and you have to preset margins in the template.
4) You can use OpenOffice UNO but its complicated and users need openoffice installed to run your app.