+1  A: 

Use a PDF printer.

Is this for you to do on your own machine or as a server activity? If it's just for you, open the page in your favorite browser and print to PDF.

If it's for a server, try something like loading it in a browser control (easy with .net on windows, otherwise look at options using firefox components on linux) and get it to 'print' to PDF.

Luke Schafer
A: 

There are libraries which will allow ou to do this.

Start your research here with FPDF, and HTML2FPDF.

Stephen Wrighton