HTML отображается правильно во всех браузерах, но в сгенерированном PDF-файле возникают проблемы с макетом таблиц, занимающих несколько страниц.

Описание проблемы
Когда таблица:
- охватывает несколько страниц
- использует , поэтому заголовки повторяются
- имеет много столбцов (15+ в таблице) реальный вариант использования)
- содержит очень длинный текст в одной или нескольких ячейках таблицы ()[/b]
Код: Выделить всё
Код: Выделить всё
Когда это происходит, wkhtmltopdf повторяет заголовок таблицы на новой странице, но не резервирует для него вертикальное пространство, в результате чего повторяющийся заголовок перекрывает продолжение той же строки. В некоторых случаях содержимое строки частично усекается (видимо наполовину).
Эта проблема возникает только тогда, когда одна строка сама по себе разбивается на страницы.
Строки, которые полностью умещаются на одной странице, отображаются правильно, даже в многостраничных таблицах.
Используется команда wkhtmltopdf
Код: Выделить всё
wkhtmltopdf \
--orientation Landscape \
--footer-center "name of the template" \
--footer-font-size 10 \
--footer-spacing 5 \
input.html output.pdf
Следующий HTML-код корректно отображается в браузерах, но создает перекрытие заголовков в wkhtmltopdf, когда содержимое ячейки строки перетекает на следующую страницу:
Код: Выделить всё
body {
font-family: Arial;
font-size: 10pt;
line-height: 1.4;
min-width: 1200px;
}
table {
margin-top: 10px;
page-break-inside: auto !important;
border-collapse: collapse;
width: 100%;
}
tr {
page-break-inside: auto !important;
}
table, th, td {
border: 1px solid black;
text-align: center;
}
th.verticalTableHeader {
max-width: 100pt;
min-width: 30pt;
}
td {
padding: 10px !important;
white-space: normal;
word-wrap: break-word;
}
/* rotated header text */
.verticalTableHeader span {
display: inline-block;
transform: rotate(270deg);
margin: 0 -280%;
}
.verticalTableHeader span:before {
content:'';
width:0;
padding-top:110%;
display:inline-block;
vertical-align:middle;
}
/* IMPORTANT: forces grouping of rows */
.group-rows {
display: table-row-group !important;
}
Heading1
Heading2
Heading3
Heading4
Heading5
1
This cell contains very long text.
It spans multiple lines and eventually forces the same
table row to continue onto the next page. When that happens,
wkhtmltopdf repeats the table header but overlaps the
continuation of this row instead of pushing it down.
Text
Text
Text
Вопрос
Есть ли способ заставить wkhtmltopdf правильно повторять заголовки таблицы, когда одна строка таблицы занимает несколько страниц, без перекрытия заголовков или усечения строк?
/>Существуют ли известные обходные пути CSS или это известное ограничение механизма компоновки wkhtmltopdf?
Подробнее здесь: https://stackoverflow.com/questions/798 ... -multi-lin
Мобильная версия