Let's get something straight - do you want to print on the client or the server?
Your best bet is to make a HTML page with a suitable print css, then show it in a window and get the user to print that. Javascript has a method on the window object - window.print() which will cause the user's print dialogue box to pop up - but it won't print unless the user subsequently confirms it.
If you need to print many different things at once, it might be better to add them to some kind of server-side print queue (per user), then have a button which generates one large HTML page (again, with suitable print css) ciontaining all the reports you want, so the user can print them all in one batch rather than having to confirm each one.
Mark