Печать HTML: Избегайте разрыва страницы для строки таблицы с размахом строк, добавьте номер страницы

У меня есть ряд проблем с печатью HTML-страницы. Я провел некоторое время и пробовал разные решения, но ни одно из них не работает.

http://jsfiddle.net/kasheftin/vj7hr1cg/1/ - вот таблица, которую я хочу напечатать. Я максимально упростил это. Он не помещается на одной странице, и цель состоит в том, чтобы избежать разрыва страницы внутри содержимого строки.

Также я хочу, чтобы внизу каждой печатной страницы был какой-то специальный текст, например "страница 1 из 10".

Вот текущий результат:

Как мы видим, последняя ячейка не помещается на странице, у нее нет нижней границы, номер страницы печатается как 1/5 вместо "1 из 5", указанного в css.

Вот что я попробовал до сих пор:

Каждый ряд с размахом строки имеет -primary имя класса Разрывов страниц избегать нигде, кроме таких строк:

.b-rtable__row, .b-rtable__cell {
  page-break-inside: avoid !important;
}
.b-rtable__row {
  page-break-before: avoid !important;
  page-break-after: avoid !important;
}
.b-rtable__row.-primary {
  page-break-before: auto !important;
}

Завернуто содержимое каждой ячейки в .b-rtable__container div, который занимает всю ячейку и избегает разрыва страницы:

.b-rtable__row { 
  height: 1px; // Fix for 100% height;
}
.b-rtable__cell {
  height: inherit;
}
.b-rtable__container {
  width: 100%;
  height: 100%;
  page-break-inside: avoid !important;
  position: relative; // tried with and without that rule;
  display: table; // tried with and without that rule;
}

Добавлены эти правила для рисования пользовательских page 1 of 10 текст внизу каждой страницы, но он не отображается:

@page {
  size: auto;
  @bottom-center {
    content: "page " counter(page) " of " counter(pages);
  }
}

0 ответов

Другие вопросы по тегам