il <br> non viene interpretato come a capo dalla stampa.
Questa mi è nuova. In un browser che visualizza una pagina html l'istruzione <br> significa vai a capo. E lo interpreta anche facendo il rendering per la stampa.
Probabilmente si sono altri errori nel codice html che usi.