Generally you would create a much simpler layout for print with your print stylesheet and avoid table like structures or floats and take a more linear approach with one element following the next and with as little styling as possible (e.g. remove all widths, heights, positioning , floats etc). However as you have used tables this could be quite difficult to manage and would have been easier if tables for layout was not used and used css display:table instead.
A quick fix you might like to try is to remove the absolute positioning by adding this to your print stylesheet.
I can't guarantee it will work but seems to behave better in print preview although you do get the odd blank page.