Hi Ian,
The question is simple, but the answer is complex. The short answer is, do it the way you have done it by adding a button to the browse.
The root of the problem you have comes about because you're trying to do too many things "at once". In a disconnected system (like the web) this is possible, but it gets icky.
Consider;
a) When you press a Save button, you are really "saving the form" AND "opening the browse".
b) If you had a Save-and-Print button, then you are saving the form, opening the browse AND opening a report in a separate tab. But wait the report part must come after the save part. using JavaScript it's possible, but it's gonna be icky.
c) If you have a Print button on the form (so it Saves, and Prints, but stays on the form) then you have a complication if the user does a Print, but then clicks on Cancel on the form. That'd be no good.
Many sites overcome this by taking you from the "Save" to a "thanks for buying" page, where you can then print. But it's clear the record at this point is saved, and cannot be "undone".
There's no outright trivial way to accomplish what you want (although I'm not sure if you want (b) or (c) above.) It's possible to do, by sending extra javascript to the browser, but it'd need to be fairly tailored to your setup. The print-button-in-browse option is by far the best approach because the browse is effectively the "page after record is saved".
Cheers
Bruce