für PHP gibt es ja die PDF Lib. Womöglich könnte man einen Ajaxrequest schreiben, der per Knopfdruck (oder sonstigem Event) die ganze Seite sogar ohne Neuladen an PHP samt PDF Lib schiebt, und dann PDF ausgiebt...
lege meine Hand aber nicht ins Feuer dafür.