I believe a number of add-ons, like Exp:resso's Store, that automate the creation of PDF files, use DOMPDF: an HTML to PDF converter. It can be called directly with PHP for use in ExpressionEngine or you can take a look at Patrick Pohler's PDF Press.
I haven't used PDF Press, it's pretty new, but with the exception of the one issue with Unicode Characters, that has been fixed/address, I haven't really heard any complaints about it. It's probably the simplest method for adding DOMPDF functionality to your website, if you don't like delving into PHP or just don't want to turn PHP on in your templates for security reasons.
There are other PDF converter plugins, but most use something like PDF Crowd. PDFCrowd is free for single use or small amounts (up to 100 PDF files), but have a monthly charge if you need to create more than that or have an unknown amount of data, say submission of web forms (you could get 5, 500, or 5000 forms submitted).
As for sending the PDF as an email… you'd probably need to figure out which PDF solution you are going to use first, then you can explore various notification and email solutions like Postmaster or MX Notify. Though admittedly, I'm not certain why you wouldn't just send an HTML formatted email, with a link where a PDF could be generated if needed.