Using OpenOffice.org from Java Applications
A UNO Quickstart
OpenOffice.org is quite nice as a free and open source office suite that works on Linux and Windows and I use it quite a lot.
Besides its use as a desktop application it is not widely recognized that it can also be used as a backend document processing system by your Java application. Use cases are numerous: an invocice generating webapp in your intranet, prefilled document templates with content from a database or just an online inventory of your documents wiht support for on demand conversion to Microsoft Office formats or PDF.