A search on cpan turned up
PDF::Create, which looks to me like your best bet.
I have no idea how mature/usable this module is, but at thevery least it looks like a good place to start. Frankly, the README looks a lil confusing, but then again I know little about the internals of PDFs. Maybe a Postscript generator might be better, as far as I know the two formats are interchangeable through external converters (ps2pdf), and there seem to be a fair amount of decent Postscript modules out there.
Trinary