Welcome, Mark! I've added you to the student list in the assignment log thread, if you haven't already noticed. I meant to post you a welcome there, but I got sidetracked. I'm working on a Servlet assignment, and it's got me all tangled up in my own lasso!
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