打印时防止表格分页

2024-03-10

我有一个页面正在尝试设置用于打印。该页面包含大量单独的表格。这些表格的大小各不相同,但一般来说,我可以在每页上放置 2.5 到 3 个表格。我希望能够防止表格因分页符而损坏。知道我怎样才能做到这一点吗?

我试过这个:

.reportTable {
    page-break-inside: avoid;
}

很遗憾,page-break-inside似乎只在 Opera 中受支持(根据W3学校 http://www.w3schools.com/css/pr_print_pagebi.asp- 我证实这在 Firefox 4.0.1 中不起作用)。

我可以这样做来在每个表之后强制分页:

.reportTable {
    page-break-after: always;
}

这可以插入分页符,并且似乎在所有主要浏览器中都支持,但它在打印文档上留下了大量浪费的空间(每页大约有一半是空白)。如果整个下一个表格不适合本页,我真的只需要分页符。

我知道我的用户使用 Internet Explorer、Firefox 和 Safari,所以我真的很想尽可能地支持这些产品。找到同样适用于 Chrome 和 Opera 的东西将是一个非常好的奖励。

有任何想法吗?


我也一直在寻找这个问题的答案。我最接近的是知道一个页面上可以容纳多少行输出,然后计算该页面有多少行输出。在你的情况下: 1)计算出一页上可以容纳多少行输出。 2) 通过显示第一个表格来跟踪您已经使用了多少行。 3)计算表2需要多少行。将其添加到表 1 的行中,看看您是否仍低于近似阈值。如果是,则显示该表格,如果不是,则放置一个带有分页符的 div:始终在其中以强制创建一个新表格。

这将为您提供大约您正在寻找的内容,但它不会是完美的。每隔一段时间,您就会有一个“可以”适合上一页的表格,但只是没有完全满足要求,因为您必须估计一页上适合多少行。

然而,我还没有找到一种方法来考虑单元格内的内容或类似内容在被压缩到打印输出页面时是否会换行成新行。

希望这能激发您的灵感。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打印时防止表格分页 的相关文章