Если вы абсолютно должны иметь верхний / нижний колонтитул, вам нужно будет вставить разрыв страницы в каждую ячейку таблицы X, где X - количество ячеек, которые вы хотите отобразить на каждой странице. Разрыв страницы должен будет дублировать ваш верхний и нижний колонтитулы.
Итак, ваш стол будет выглядеть так:
HEADER
<table>
<tr><td>Cell Data</td></tr>
<!-- A bunch of rows -->
<tr><td>Cell Data</td></tr>
<tr>
<td>
Cell Data
<div class="pagebreak">
<div>FOOTER</div>
<!-- Print page will break here -->
<div class="header">HEADER</div>
</div>
</td>
</tr>
<tr><td>Cell Data</td></tr>
<!-- A bunch of rows -->
<tr><td>Cell Data</td></tr>
<tr>
<td>
Cell Data
<div class="pagebreak">
<div>FOOTER</div>
<!-- Print page will break here -->
<div class="header">HEADER</div>
</div>
</td>
</tr>
</table>
FOOTER
А затем добавьте следующий стиль на свою страницу:
<style type="text/css">
@media all
{
.pagebreak { display:none; }
}
@media print
{
.pagebreak { display:block; }
.pagebreak div.header { display:block;page-break-before:always; }
}
</style>
Редактировать: я обновил HTML, чтобы (надеюсь) сделать более понятным, что нужно сделать.