There are several ways to create PDF's, on the client (e.g. PDFCreator) or on the middletier. But to create PDF's merely with packages in the database, that's another story. Even Apex uses some Java on the middletier. The product PLPDF on the other hand is a well known utility which provides this functionality (using open-source 'itext'), but.. you have to pay for this. So why not do it ourselves with itext, open-source (answer: a lot of work and knowledge of Java...).