Для современных браузеров должно работать предложенное
@EnterSandmantr{page-break-inside: avoid;}
Увы, для webkit конкретно для display:table-xxx не работает. Работает для display:block, но ставить это для всех tr — чистой воды самоубийство.
Только JS-решения — определять высоту кусков таблицы и... Например, втыкать в месте разрыва tr (здесь с классом devide)
.devide{
display:none;
page-break-after:always;
}
.devide td{
display:none;
}
@media print{
.devide{
display:block;
}
}
Кстати, и thead, и tfoot при печати на каждом листе webkit также не выведет.