Go to our books pages and look for "Core Java2" by Horstmann and Cornell. It is specially intended for people who have written C++ before.
Search through this forum because many people ask similar questions to this.
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