There are several blog posts on this topic.
CMS 6: http://episerverblog.wordpress.com/2011/10/27/create-pdf-direct-from-html-with-itext/
CMS 7: http://joelabrahamsson.com/building-a-pdf-channel-for-episerver-7/
I can recommend this library doing stuff as asked: http://www.evopdf.com/
No installation required and it can handle most modern CSS rules for styling.
You can use itextsharp and write your own code or you can build a pdf Display channel.
Is it possible to have a PDF icon on a page that will automatically generate a PDF file showing the content of the page in Acrobat Reader to save or print. I have seen this on other webpages on the net. We do not want a link to an existing manually created pdf file. the file should be created dynamically.