an interesting side note (discovered by accident) is the empty statement (ie, a ";" on a line with nothing else). in java 1.3, a statement like break;; or return;; was accepted by the compiler, but if the same code is compiled under 1.4 it is a compiler error because the second ; is considered an unreachable statement. (not that it has any use, it was just a typo that raised a point about compiler differences).
use the [CODE] tags - it makes it much easier for people to help you.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com