Кажется, это трудно сделать без хакерского подхода. Тем не менее, я получил некоторые хорошие результаты в Firefox, используя следующее:
div.page {page-break-inside: avoid; page-break-before: always;}
Если я правильно помню, «разрыв страницы» - это то, что было бы идеально, но не полностью работало в FF. «page-break-before» отлично сработал для меня. Просто убедитесь, что вы не применяете его к самому первому элементу div (или любому другому элементу, который вы используете); в противном случае первая страница для печати будет пустой.