Как я могу предотвратить пустую последнюю страницу?

Я перебираю список объектов. На каждой итерации я создаю и заполняю таблицу, которая содержит содержимое одной страницы.

Я использую CSS, чтобы добавить разрыв страницы после каждой таблицы.

table { page-break-after: always; }

Это прекрасно работает, за исключением того, что я всегда получаю пустую последнюю страницу. Я предполагаю, что это связано с последней итерацией таблицы, в которой был применен разрыв страницы.

Я пытался.

table { page-break-after: always; }
table { page-break-after: auto; }
table { page-break-after: left; }
table { page-break-after: right; }

Тем не менее, я всегда получаю эту пустую последнюю страницу.

Есть ли другой способ вставки разрывов страниц, который не создал бы пустую последнюю страницу?
Или, может быть, какой-то способ определить, является ли последняя итерация, а не вставить последний разрыв страницы?

2 ответа

Решение

Вы можете добавить это:

table:last-of-type {
    page-break-after: auto
}

Или, может быть

body > *:last-child {
    page-break-after: auto
}

Я использую ruby ​​для создания страниц. Я создал разные CSS для взлома и без взлома.

#publication_no_break{
/* stuff here */
page-break-after: avoid;
}

#publication_break{
/* stuff here */
page-break-after: always;
}

И по коду я считаю каждую страницу, которую мне нужно распечатать и

<% if page != total_pages %>
< .... .... id="publication_break" >
<% else %>
< .......... id="publication_no_break">
<% end %>

Вы можете попробовать что-то подобное на любом языке, который вы кодируете.

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