FPDF has always worked out for me. There is a lot of robust functionality in there, and you just gotta keep at it to find it.
The ImageEPS class extension is VERY useful for making things print ready, though it is not without its issues (as its a rather old extension and doesn't support .ai and .eps files very well, save as backwards compatible as you can.)
You can use the drawing features to generate crop marks.
Header and footer set up is a bit counter-intuitive but it works. (http://www.fpdf.org/en/tutorial/tuto2.htm)
The orientation of the pages and the sizing are pretty easy to set.(http://www.fpdf.org/en/doc/fpdf.htm)
Multicell is a VERY useful function for dynamically generated content, though there is no way of handling overflow built it. You'll have to have some way of doing character counts and passing the data into blocks for complex layouts.
I believe there is an extension in the forums for pagination. (http://www.fpdf.org/en/script/script86.php)
plus I'm a cheapskate :)