是否可以使用CSS更好地打印页面?

时间:2013-11-06 15:36:05

标签: css printing html-table

我有一个非常简单的HTML页面,它只有一个垂直表,可以动态生成数据。我遇到的问题是,当我想要打印我的页面时,它会切断我<tr>之一的中途,如下所示:

enter image description here

有没有办法使用CSS,所以我可以以某种方式结束页面底部的<tr>,然后在第二页上开始下一个<tr>

我在网上搜索了一个解决方案,却一无所获。对于我所追求的,清楚地搜索它并不是一件容易的事。

希望有人可以帮忙解决这个问题。

2 个答案:

答案 0 :(得分:1)

使用类似

的内容
tr {
    page-break-inside: avoid;
}

答案 1 :(得分:0)

这是一个更可靠的JQuery解决方案:

$(document).ready(function () {
    $('table.splitForPrint').each(function(i, tabela){
        var per_page = 13;

        var pages = Math.ceil($('tbody tr').length / per_page);

        if (pages == 1)
            return;

        var ultimo = $(tabela);
        for(var p = 1; p <= pages; p++) {
            var copy = ultimo.clone();

            $('tbody tr', ultimo).each(function(i, tr){
                if (i >= per_page) {
                    $(tr).remove();
                }
            });

            $('tbody tr', copy).each(function(i, tr){
                if (i < per_page) {
                    $(tr).remove();
                }
            });

            if (p < pages)
                copy.insertAfter(ultimo);

            copy.css('page-break-before', 'always');

            ultimo = copy;
        }
    });
});

https://code.google.com/p/wkhtmltopdf/issues/detail?id=168#c4