使用分页符

时间:2017-01-11 10:33:56

标签: javascript html css printing

我有创建表的数据并打印它。结构如下:

标题 数据 总和

标题不得位于页面末尾,打印时,Sum不得位于页面的开头。 Thant就是为什么我用Div制作html表并给出mm的所有尺寸。但是当我打破页面的时候我无法进行整理。在不同的电脑高度变化。

这是我的计算和分页页面的JavaScript代码

$(document).ready(function(){
        var mydiv ='<div class="page-break"></div>';
        var i=0;
        var h = px2cm($("#myinfo").last().height())*10;
        var limit=297;
        var g =0;

        $('#content div.ptr').each(function(){
            g=0;
            h = h + px2cm($(this).height())*10;
            var nexth=px2cm($(this).next().height())*10;
            if(h>=limit-nexth)
            {               
                if($(this).hasClass("ptrtitle")){
                    $(this).before(mydiv);
                    h = px2cm($(this).height())*10;
                    i++;
                    g=1;
                }else{                  
                    if(String($(this).next().attr("class"))==="ptr ptrsum"){
                        if($(this).prev().hasClass("ptrtitle"))
                        {
                            $(this).prev().before(mydiv);
                            h = px2cm($(this).height()+$(this).prev().height())*10;
                        }else{
                            $(this).before(mydiv);
                            h = px2cm($(this).height())*10;
                        }
                        //h=0;
                        i++;
                        g=1;
                    }else{
                            $(this).after(mydiv);
                            h=0;i++;
                    }
                }
            }
        });
    });
    function px2cm(px) {
      var d = $("<div/>").css({ position: 'absolute', top : '-1000cm', left : '-1000cm', height : '1000cm', width : '1000cm' }).appendTo('body');
      var px_per_cm = d.height() / 1000;
      d.remove();
      return px / px_per_cm;
    }

这里我添加限制= 297(对于A4高度,它在某些计算机上运行良好,但在其他计算机上效果不佳)。不好工作意味着,在第一台计算机上它在一个页面中打印40行,但在另一个计算机上打印到下一个打印页面

我如何在所有计算机上正常打印数据

1 个答案:

答案 0 :(得分:0)

尝试使用page-break为您的班级page-break添加css2属性@media print,而不是手动计算分页符。如果需要,还可以使用特定于print的不同比例。

@media print {
    .page-break {page-break-after: always;}
}