While you can shrink the overall portal size to remove unused space you can't shrink individual fields within the portal row.
I recommend a work around:
Create a print layout based on the portal's table. Make this a list view layout and place fields from your parent record in the header. Now the fields you place in the body will shrink/slide up and resize the enclosing part. Since this is a list view layout, it can be used to print any number of portal records.
If you open the starter solution and check out how the Invoice solution prints an invoice. You'll see an example of how this can be done.