Set up a button inside the portal row to both select the contract record and print.
such a button could perform a script script that uses go to related records to pull up the contract record on a layout based on contracts. Such a layout can also include fields from individual.
Another option would be for that button to set a field or variable used in a portal filter on the portal so that the selected contract is now the only contract allowed to be visible in the portal.
If you are trying to print the layout that contains the portal, it will do that anti is expected behaviour. I always script the print to a different layout showing only the data i ant printed.
Fairly straightforward and as philmodjunk describes.