Why are the the figures invisible for printing purposes?
Can you maximize the figures before you make them invisible?
What about setting the size manually:
set(gcf, 'Position', get(0, 'ScreenSize'))
set(gcf, 'OuterPosition', get(0, 'ScreenSize'))
MATLAB changes the horizontal size magically, but the figure is at least near to be maximized.
My Windows-C-Mex function FEX: WindowAPI cannot work with invisible figures also, because they are not found by the operating system and get a new HWnd handle when made visible again.