Creating the PDF file on the server is the best approach IMO since it does not limit you. On the server it would be straight-forward to "email this PDF to a friend" for example - not sure how that would be achieved client-side without user intervention.
Also, printing the page as PDF can give different results from what's required. e.g. I generate PDF invoices that look entirely different from the displayed page (with letterhead, terms and conditions etc) - although you could do a lot with a print media stylesheet I suppose.
There are plenty of pure PHP alternatives that don't require the PHP extension.
e.g.
FPDF, or
Zend_Pdf (php5) amongst many others.