我有创建表的数据并打印它。结构如下:
标题 数据 总和
标题不得位于页面末尾,打印时,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行,但在另一个计算机上打印到下一个打印页面
我如何在所有计算机上正常打印数据
答案 0 :(得分:0)
尝试使用page-break
为您的班级page-break
添加css2属性@media print
,而不是手动计算分页符。如果需要,还可以使用特定于print
的不同比例。
@media print {
.page-break {page-break-after: always;}
}