not too sure but have you tried adding a css style tage with media print and foc the table to a certain size? Also a css reset may help remove browser specific layout issues, but you will need to add css after that to make a consistant appearance. When I must debug weird display issues I sometime use background colors on certain elements to get an idea on how the page is being affect. I make an inline style rule like style='background-color:red;' and move it from one block level element at a time. Sometimes you will need to different colors on seperate elements to find the cause. In one case I had a margin rule that was tossing the width of a parent element out of wack....and I think the style for the child was dynamic too... Anyways, hope that helps!
Chris J www.redash.org