打印数据表 - 新页面

时间:2015-07-02 06:32:42

标签: javascript css jsf primefaces printing

我正在尝试使用javascriptcss打印我的数据表:

<h:commandButton value="#{portal.btnPrint}" type="submit" onclick="javascript: window.print();"/>

<p:dataTable id="tbl" var="item" value="#{myPrins.model}" ...
...
</p:dataTable>

@media print
{
  table { font-size: 80%; }
  #menu, #header, #form, #form_error { display: none; } 
  @page { size: A4 landscape !important; }
  ....
  ....
}

而且,如果我理解它,它是基于DOM的打印,所以它只是打印,设置为打印并在屏幕上可见。

问题是,我无法处理页面结尾: enter image description here

我尝试过并拒绝了:

  • 样式row heigthfont size(问题会在下一页再次出现)
  • 每页打印表格(第1页 - 打印,第2页 - 打印atc。)。大数据表的用户敌人
  • 使用@media print { thead {display: table-header-group;} }在每个页面上打印标题 - 仅适用于Firefox
  • 导出到XLS(我不能出于其他原因)
  • page-break-inside: avoid;无法在Chrome中使用

如何一次打印整个数据表并自动拆分页面?

1 个答案:

答案 0 :(得分:0)

紧急解决方案

  • Mozilla Firefox
  • css: @media print { tr { page-break-inside: avoid !important; } }

新问题&amp;优点

  • 每页都会自动显示标题
  • 桌子的边框向左和向上移动(从第2页开始)
  • =&GT;我必须使桌子的顶部和左边边缘有点厚,以便在下一页显示:

    css: @media print { table { border-top: 3px solid #ACBECE; .. } }