what I have done is use XML and XSL to transform XML into a pdf dynamically using Coccoon. It has worked great for me.
I got started using the O'Reilly Java and XML book, which did a great job of walking through it.
The code for the book is online at http://examples.oreilly.com/javaxml/
and you can find more info on Cocoon etc. at http://xml.apache.org. If you decide to go down that path and have more questions let me know!
Anne