After looking through almost every Java book that comes out, and even purchasing several, my favorite is Peter Van der Linden's Just Java. I think it's the beginner book recommended by Javaranch too. It's very well written, an easy read, and doesn't assume anything. I'll second the web suggestions though. There's enough on the Sun website alone to get most people going. It's as good as anything else, if not better. And, of course, Javaranch!
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