wkhtmltopdf é o que você precisa!
https://code.google.com/p/wkhtmltopdf
Basicamente, você precisa chamá-lo da linha de comando, mas pode integrá-lo facilmente a qualquer aplicativo da web usando algumas habilidades do lado do servidor.
Uso de amostra:
wkhtmltopdf.exe www.myhomepage.com myhomepage.pdf
A melhor coisa é que você também pode fazer isso em páginas dependentes de sessão! O truque é que você precisa capturar seu SessionID de alguma forma e usá-lo na linha de comando:
wkhtmltopdf.exe --cookie cookiename jahnvyp2yhcbi4sjxcrsnh3 "http://www.mywebpage.com/1234" mywebpage.pdf