I'm a bit late into this conversation, but I'm with David on this one. Why not add a CSS style sheet for printing? Nothing could be simpler than pressing CTRL-P and getting a nice printed version. A PDF on the fly of a page is not going to look so good as a printed document (eg it will have sans serif fonts instead of serif fonts, it might be too wide) as a CSS style-sheet print formatted page would. And for a "portable" version of a course, not for printing but for screen viewing, a PDF is not very nice to read. I hate reading PDFs on a screen, it's not easy nor nice looking. Someone who wants a portable page would be better off saving the html page in my opinion.
As for people with older browsers, making a CSS style sheet for printing doesn't prevent them from printing the page, they just won't have that added functionality of it being optimized for print. And if you are concerned about people with older browsers, don't forget that older browsers don't have very good support for PDFs either. They sometimes require installing a plug-in, or opening it up in a separate program altogether. I remember wrestling a lot more with opening PDFs in old browsers than I do with my ability to simply print out a webpage. And if we should be so concerned about old browsers, then why does Moodle use CSS at all? In short, CSS doesn't prevent anyone from using material, it just adds extra functionality for the 98% of people these days who have browsers who can handle it.
I'm not that familiar yet with Moodle to create a CSS style sheet for printing, but I would love it if someone who did would try this. I add another link to an article about this to give someone a very nice example (try printing or print previewing this article) of what can be done.