2015-10-28 31 views
4

我必须打印经过多页的大型HTML表格。每个页面都应该有备忘录(包含公司名称和内容的页眉和页脚)。我正在使用jQuery-datatablesTableTools。这里是我的CSSCSS用备忘录打印多个页表

@media print 
{ 
    @page{ 
     margin: 150px 0px 150px 0px !important; 
     padding: 0px !important; 
     size: A4 portrait; 
    } 

    table { page-break-after:auto;} 
    tr { page-break-inside:avoid; page-break-after:auto } 
    td { page-break-inside:avoid; page-break-after:auto } 
    thead { 
     display:table-row-group; 
    } 
    html{ 
     background-image: url(memo.png) !important; 
     background-size: 200mm 287mm !important; 
    } 
} 

上边距设置为@page然而,当它“动作”一切(包括)的背景下。我不知道是否有从@page保证金申请表,而是设定背景时,为了避免它,或者添加背景图像@page

我也试图设置@page余量为0,table保证金150像素的一种方式。在第一页上没问题,但是由于表格被分成几页,所以它忽略了其他页面上的页边距。

UPDATE

enter image description here

我添加的错误,并希望结果一些草图。红色是标题,蓝色是页脚,绿色是表

回答

0

你可以添加一个空的(第一行到你的)<thead>?在屏幕上查看表格时将其隐藏,并在打印时将其高度设置为150px。

thead在每个表格跨越的页面上重复。这意味着每个页面都从一个空行开始,为公司徽标腾出空间并推低数据。

同样,为您的<tfoot>添加一个空的最后一行,以在表格跨越的每一页底部留出空间。

+0

不幸的是,这不是一个选项,因为它会打破pdf和excell出口 –

+0

也可以考虑这个问题:https://bugs.chromium.org/p/chromium/issues/detail?id = 656220其中。还有另一个问题,使得''只出现在结束页面而不是每页。 – Sassan