Here's a simple work-around I've used for years that may work for you.
Set your system to ALWAYS print with records being browsed.
In situations where the user needs to print the current record, manipulate the found set to contain only a single record.
Give users a Print/Preview button that switches to preview mode and pauses. If the user likes what they see, they can choose print from the file menu. If they don't they can continue the script to return to browse mode.
Here's how I quickly isolate the current record for printing:
Define a serial number field that uniquely identifies each record
Define a relationship that self joins the table to itself using this field as the match field.
Just before printing or previewing, use go to related record and this relationship to isolate the current record in 1 record found set.
After the user finishes the preview I can restore the found set by performing a find or using Go To Related record and a different relationship.
I can't guarantee this will work in your situation, as there are obvious trade offs.