You can find many libraries both commercial and open-source that will help you create PDF files.I
will consider only open-source libraries here and particularly one library:
iText. Apart from this library you have
gnujpdf,
JFreeReport,
PJX etc...
As I said iText is a open-source
pure Java class library for creating and manipulating PDF documents. It provides a rich set of features like support for both PDF and FDF documents, different layouts, images, document encryption, watermarks, document templates etc. Its published in two different licenses: MPL and LGPL.