Others have reported this issue, which seems in large part to be due to a difference in what options are available to printer drivers on the two platforms.
On windows, you'll need to create a new layout and scale the layout objects down to the size you need for printing. Then your script can switch layouts to print the report and switch back after printing. Since this layout will work for both Mac and Windows systems, you may want to use this for both, or you can include code in your script that detects the current platform and only switches layouts for Windows systems.
Perfect! Thank you very much for your help.