2011-12-01 85 views
3

我制作html报表并打印它们(或PDF)并希望进行智能分页。我想避免标题在一个页面上和下一页上的段落。在这种情况下,下一页应以标题开头。我试过page-break-after:avoid但没有成功。我不明白为什么。如果我尝试page-break-after:always它的作品。所以我想避免函数不是那么好。我总是使用IE8。智能html分页符

是他们的任何脚本方式来计算分页符应该在哪里?如果他们是我可以在那个地方做一个page-break-after:always

谢谢! /Georg

回答

1

这个班只是一个提示。只有在可以避免的情况下才能避免分页。如果这意味着结果将不得不被剪切,毕竟分页符将被插入。

我不认为有可能计算分页符的位置,因为它取决于很多变量,包括打印机页边距和纸张大小,这些变量在CSS或JavaScript中都不可访问。

+0

这就是我所猜测的。我使用ASP.NET创建html,所以也许我可以使用ASP.NET计算内容的高度?我也有图像,有html的地址,所以我也需要知道它们的高度。我知道纸张大小和边距。我也知道所有的字体和字体大小。你认为不可能吗? – ahrberg

+0

我认为不是。你可能走得很近,但总会有这些小小的差异。并非每个渲染器都以完全相同的宽度呈现字体。整行文本中的像素差异可能会导致单词跳到下一行,从而移动整个页面。这将是一个大量的工作,你永远不会得到它的权利。你最好问自己,为什么在这一点上不要休息是如此重要。也许你可以在页面中断的所有页面中添加'page-break-after:auto'。 – GolezTrol

0

我使用TCPDF(http://www.tcpdf.org/)来做类似的事情。虽然打印表格数据很容易在正确的地方得到分页符,所以我可以做一个行计数。

你可以尝试一个字符数,但它不会那么准确。