Sadly, InfoPath is known to mangle the views when printing. The solution I have found is to have a separate print view.
So you have one view where users fill out the data. Then create a second view, which might have read only controls and Expression Boxes for example, and make this the print view. Then it's a matter of tweaking the print view, as desired, until it looks great in PDF and on paper.