About the only way to meet those requirements would be to shrink the text. You can either do it pre-emptively (i.e., as part of the field's formatting on the layout), or using Conditional Formatting to detect the length of the field and shrink the text in response to its contents.
I'm assuming, of course, that you have no horizontal space to expand into. If you do, you could use that and then tell the field to slide left on printing.
I don't want to make the field taller, but I want all text to print...
Is this doable?
Why not have a dedicated layout for printing - where the field would be as tall as required and set to shrink?
Yep. What Michael said. Generally layouts fall into two categories. Data Entry layouts which look like rubbish when printed, but look good on screen and Print layouts which are generally bland and fit within the confines of a piece of paper. Create a print-friendly version of your layout and a simple script to switch to it, print and go back.