Como Haim Evgi referencia en este artículo http://davidwalsh.name/css-page-breaks
Además de lo que ya se ha descrito en el artículo, me gustaría señalar que es una buena práctica usar .página-break-before : auto en lugar de .page-break-before: always. El "auto" romperá la página solo si los contenidos están al final si la página, esto evitará que se rompa la página y dejando un montón de espacio en blanco.
El CSS
@media all {
.page-break { display: none; }
}
@media print {
.page-break { display: block; page-break-before: auto; }
}
El HTML
<div>some content</div>
<div class="page-break">more content, this content may be short or long</div>
<div class="page-break">this content may page-break if content above this <div> is at the end of the page</div>
<div class="page-break">etc,..</div>
Esta respuesta sería mejor si resumiera el artículo en lugar de simplemente vincularlo fuera del sitio. – KatieK