there are a number of free php html->pdf converters out there, fpdf being the most common, however none of them will probably maintain your pretty html very well.
I once took fpdf and used it as a base to write a custom pdf generator, ended up scrapping even that, digging into pfd document structure and format, and writing from the ground up, and I can tell you now it's very complex, time consuming and frustrating.
If you require polished results, you're best to look for a commercial platform to use.
Alternatively, if you can't justify any money out for this, you can start with fpdf or similar, then design html that it can turn into pdf fairly accurately, however this will limit what you can do (css support is almost nonexistant in fpdf, i think).