You'll need to devise a layout specifically for printing that deals with these issues.
On this layout you can remove the tab control and arrange the fields from them so that all are visible at the same time on your layout.
Text fields and portals with scroll bars can be made extra tall so that all data is visible in them (Can't tell if your "box" is a portal or a field here.) They can then be set to Slide up | Resize enclosing part to remove unused space for cases where there is less data in such "boxes".
A script attached to a button can switch to the print layout, print it and then return to your original layout. You may also want to pause in preview mode so that you can see what is about to be printed before actually printing it.
Given the challenges inherent to printing portals that may have any number of portal rows in them, developers try to avoid printing such portals, but instead use a layout based on the portal's table for printing with fields from the parent table added to this layout in headers, subsummary parts, footers and/or grand summary parts. The Invoices starter solution uses this method when it prints and invoice.
Key facts about sliding layout objects:
- It's only visible in preview mode and when you print/save as PDF...
- All layout objects below and in the same layout part as the slide/resize field need to also be set to slide up and resize.
- Objects in headers and footers will not slide.
- Portals will shrink/slide to fit the number of rows of records, but fields within the portal row will not shrink/slide.
- Consistent side borders are difficult to achieve with sliding fields.