Ciao, la soluzione di base è quella indicata da Vincent che quoto.
Puoi impostare il layout manualmente o attraverso un form e quindi memorizzare i vari dati in un db per usi futuri.
Tuttavia, se lo ritieni necessario, potresti giusto automatizzare il processo usando un po' di JavaScript per modificare al volo il layout di stampa, magari con un'interfaccia user-friendly. Dipende però dal contesto in cui va usata questa pagina e da vari aspetti, ad esempio:
Devi utilizzarla tu o terzi?
Se è un lavoro retribuito che devi fare per terzi, hai già stimato questo aspetto o sarebbe un lavoro extra non preventivato?
Quali probabilità supponi che ci siano di trovare margini differenti?
Ogni quanto supponi che possa accadere questa situazione?
Fare qualcosa in JavaScript non è così complicato ma devi valutare comunque tu se ne valga la pena.