如何防止空白的最后一页?

时间:2012-04-25 14:23:06

标签: html css-tables page-break

我正在迭代一个对象列表。每次迭代我都会构建并填充一个包含单个页面内容的表。

我正在使用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 个答案:

答案 0 :(得分:12)

您可以添加:

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

或者

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

答案 1 :(得分:2)

我使用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 %>

您可以使用您正在编码的任何语言尝试此类内容。