Лучший способ справиться с этой проблемой, который я нашел в браузерах webkit, - это поместить div внутри каждого элемента td и применить разрыв страницы внутри: избегать стиля в div, например:
...
<td>
<div class="avoid">
Cell content.
</div>
</td>
...
<style type="text/css">
.avoid {
page-break-inside: avoid !important;
margin: 4px 0 4px 0; /* to keep the page break from cutting too close to the text in the div */
}
</style>
Несмотря на то, что Chrome предположительно не распознает «разрыв страницы: избегать»; Это свойство предотвращает разделение содержимого строки пополам при использовании wktohtml для создания PDF-файлов. Элемент tr может немного повиснуть над разрывом страницы, но div и все, что внутри него, не будут.