XML Worker

I have an Java/Java EE based application wherein I have a requirement to create PDF certificates for various services that will be provided to the users. I am looking for a way to create PDF (no need for digital certificates for now). What is the easiest and convenient way of doing that?
I have a problem with PDF fonts. I am generating PDF from HTML and that worked fine on my local machine, which has Windows as OS. But now I deploy my application on a Linux server and my Cyrillic text is displayed as question marks.
We want to add HTML headers and footers to a document. Currently, we have extended PdfPageEventHelper and overriden the onStartPage() and onEndPage() methods. This works fine for the first page, but it throws a RuntimeWorkerException when we get to 2+ pages.
I want to generate PDF from an ASPX page using a css file. How can I do this using iTextSharp? I've downloaded itextsharp-all-5.5.7, but which of all the DLLs must I include in my asp.net c# project?
These examples were written in answer to questions such as: How to set line spacing when using XML Worker?