Я использую XSLT для преобразования XML-кода в HTML, чтобы затем я мог преобразовать его в PDF-файл для загрузки. Я использую CSS в XSLT для кодирования HTML, поэтому, когда XML проходит через XSLT, он получается в виде совершенно костюмированного HTML-кода, который я затем конвертирую в PDF.
Весь код разделен на таблицы, и я хочу, чтобы элементы в коде не ломались. Он отлично смотрится только на html, потому что он не разделен на страницы, но когда я конвертирую его в PDF, проблемы начинают проявляться, и многие теги, предоставляющие заголовок таблицы, обрезаются пополам и отображаются на разных страницах. Как это
https://imgur.com/a/UDtDmFk
Как видите, заголовок "Acontecimentos Especiais" разделен на 2 разные страницы.
Я пытался использовать все разрывы страниц внутри CSS, например:
-page-break-inside: избегать;
-page-break-before: избегать;
-page-break-after: избегать;
Я пытался использовать их в разных тегах CSS, я пробовал их в теге th, и это не работает. Я попробовал их внутри тега таблицы, и он работает, но PDF имеет длину почти 25 страниц, и это просто создает ОЧЕНЬ пустое пространство между таблицами, чтобы он мог уместиться на всю таблицу внутри страницы, и это еще больше ухудшает ситуацию.
Я также пытался использовать теги br для создания пробелов перед таблицами, но, поскольку они «генерируются» и могут иметь произвольное количество строк в зависимости от XML, невозможно предсказать, когда потребуется br. это также создает больше проблем, чем помогает.
Я пытался разместить теги div вокруг таблиц и использовать разрывы страниц, но это также ничего не дало.
Я теряюсь в том, что попробовать после этого, так как HTML не является языком, с которым я работал раньше.
Все таблицы имеют одинаковый CSS:
Что такое:
<style>
table.TabelaRatingDin {
border-collapse: collapse;
width: 700px;
position: relative;
margin-left: auto;
margin-right: auto;
}
table.TabelaRatingDin th {
text-align: left;
padding: 6px;
font-size: 10px;
background-color: #4286f4;
color: white;
letter-spacing: 1px;
</style>
Я просто хочу, чтобы заголовок таблицы не разбивался на 2 разные страницы. Хорошо, если содержимое реальной таблицы разделено, а не заголовок.