Printing to a strict template (multipage invoices / multiple delivery labels per sheet etc)
You can look into Fill PDF as an option. For this, you'd have to pre-create the templates with fillable form fields and would probably need a bit of programmatic glue to deal with page breaks, number of pages, etc. Fill PDf basically lets you use tokens from nodes and webforms to populate fillable PDF fields.

It would probably make achieving your template easiser.