How can I change the way then calendar prints?
We print calendar screens using the layout "Calendar - no Side Menu". So you can make some changes there, but remember that this is also the layout you use in browse mode when you hide the calendar's side bar, so you probably won't want to make radical changes here.
If you do want a print layout that is radically different from the screen version, consider duplicating the "Calendar - no Side Menu" layout and making a version of it just for printing (adjust the script "Print Calendar Screen" to use your new layout instead of "Calendar - no Side Menu").
Remember that you can also print the Event List layout if you want to see more records than can show up on a month view (for example). Sorting this layout by Start Date, Resource, or Status reveals one of the subsummary parts which can make the layout a bit easier to read. Here again you might consider duplicating this layout and using it as the basis for your own layout used only for printing. Such a layout might have a taller body part so that long event descriptions can print without being truncated.
Using such a custom print list layout is really the only way to print all the information about an event. The calendar's grid-based screens are just too constrained to print more than a small part of an event, or a small number of the events for a day.
The list view won't automatically "keep up" with the day, week, and month views so you'll need to build the found set to be printed by hand, or write scripts to find just the events you want to print.