java iText is a library that allows you to generate PDF files on the fly.