Print the report directly to a printer connected to the server (obviously wont work for a publicly accessible web-app…but if the application is only used within one network, this can help you to avoid forcing users to open 3 of 4 windows on-screen in order to print one report)

Print client-side from within web browser (not as pretty as pdf or rtf, but if you want to provide a printing method that 100% of your users can take advantage of, you need to consider this