This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
Quite a coincidence, I've been working on this myself all week
Apart from that JavaWorld article, you may want to look at Flying Saucer or the YaHP Converter. I found the last one the easiest to use and with great results as well. The only drawback is that it is slower than external tools and uses quite a bit of CPU resources. Because it messes with the URLStreamHandlerFactory I've decided to run it as an external tool, launching another JVM from my own (Tomcat) JVM.
If you don't like these you can also use an external tool which you run from the command line, there are several (non-free...) around. Just remember to read the JavaWorld article "when Runtime.exec() won't" if you decide to do this.