I was working on a new version of the billing system for utilities (used by the national electricity company in East-Timor), adding a bunch of new features including PDF generation for invoice and some reports. I decided to use Zend_Pdf and I believe it is a good choice.
Generating PDF is not something really fun. I used a template pdf and feed it with all the customer information I want. For each single piece of data you want to add, you must provide the position in the page, the style (if you want to change it)...a real pain! I wish we can have a more powerful templating system. It seems some guys have some plans (and codes) but nothing yet release (see mailing list here)...hey! (almost) good news: while I was looking for the link I found that they did release their PDF library (not yet in Zend, nor compatible with Zend_Pdf) named "RE Framework". I need to have a look one of this day...
Anyway, I was thinking to generate all invoices (in DB + PDF version) through a batch in symfony. I started working on it when I faced a "simple" problem: I need to use i18n for each invoices (invoice in the language of the customer), but from a batch I am always getting an error message since it does not have a user and culture define. I tried to initalize a fake one...but no luck. I need to try harder... ;-)