we use htmldoc (http://www.easysw.com/htmldoc/).
basically you give it an html file (images are ok too) & it gives you a pdf file.
the compiled version on their site has a UI & no command line version.
their license agreemement however allows you to compile the source yourself, and when you do that you htmldoc will work from the command-line.
caveat is that your html has to be proper and sections need to be removed.
I just released version 1.0 of iText.
Remark that FOP and iText have a different public.
FOP is aimed at people with XML files that need to be converted to PDF.
iText is more a tool for programmer who want to generate PDF using business logic. E.g. they query a database using JDBC and send the output to a PDF, HTML or RTF file.
With iText it is also possible to read pages of existing PDF files, stamp them or fill form fields and then send a new PDF document to the client.
For newbies: there is a good article on iText at O'Reilly's onJava: