For memory performance, I produce one page at a time with API2 and Textblock, then join them at the end with PDF Reuse (reduced max RAM to about 23.5 MB, reduced final file size by a third). I also print my footer with PDF Reuse, because it is includes # of pages (page x/y). API2 methods 'new (-file)' and 'finishobjects' don't actually help with RAM, so mine was running out of control (362 MB on 106 page doc).
If you want to produce PDFs, and have to use Perl, use this module. Sine it's initial release, I have found it to be easy to use to produce simple documents, over every aspect of my PDF creation, from image contact sheets, to relatively complex tabulated data. Top notch!
I should add, though, that using this moudle is not a two-minute job. The documentation is extremely sparse, and assumes you know not only PDF but also PDF::API2, and will take some time to penetrate. If you are not familliar with printing/print-layout and PDF terminology, you will probably need a glossary, since the object-orientation closely mirrors these two fields.
My big problems with this module begin with text flow. The latest version of the module suddenly required Perl 5.8.*, and unexpectedly replaces the old text-rendering without warning, leaving piles of code in need of updates. The replacement methods do a quite poor job at rendering blocks of text, and are almost undocumented. There is no way to render a block of text with inline font/style changes. There is no way to render columns. All of those things you'll have to do yourself.
Finally, the mailing list is actually a Yahoo! group, and has all the associated accessibility problems.
But if you are patient, this module can produce very pleasing results that are usable on an increasingly-wide number of platforms.
This module is AWESOME. I've used it in production and for some personal projects. It can do just about anything. Admittedly, the documentation is anemic, but there is a grass roots effort to create some formal documentation. Also, there is a Yahoo Group that is moderated by Alfred Reibenschuh where specific questions do get answered in a timely manner.
If you want to use Perl to create PDF files, I highly recommend this module. PDF is daunting at first, but once you get your arms around the basics of PDF building, this module is indespensible. It creates crisp, clean PDFs. I've compared the raw PDF output from PDF::API2 with that generated by Acrobat 6.0 Professional. In most cases, the PDFs from PDF::API2 are at least as good as the Abode versions, and they are almost always smaller, making them good for document storage and for web-served PDFs.
A fantastically powerful and much-needed set of modules, which I look forward to watching (or helping) flourish into as healthy a part of the psuedo-core as ImageMagick and GD.
Limited error handling is not a practicle problem, just a nice-to-have, and the few problems handling certian JPEGs are sure to be ironed out. The only weakness is the lack of documentation, though even than is not a problem when you locate the demo files on the internet.