【问题标题】:Printing tables with forced page breaks打印带有强制分页符的表格
【发布时间】:2013-03-11 06:39:08
【问题描述】:

我有一张有数百行的长表。为了在每一页上打印表格标题,我使用 THEAD {display: table-header-group} 来设置表格的样式。它在 Firefox 和 IE9 中按预期工作。但是当我尝试强制分页符时,如下面的代码所示,它在 IE9 中不起作用。在 IE9 中,表格标题只打印表格自然中断的页面。

这里是代码sn-p -

CSS: 
@media print {
    thead { display: table-header-group; }
}

HTML/PHP:
    <table>
      <thead>
        <tr>
           <th>Header 1</th>
               <th>Header 2</th>
               <th>Header 3</th>        
           </tr>
      </thead>
      <tbody>
           <?php 
           foreach ($items as $item) {
               echo  " <tr> " ;
                  echo  "<td>text</td>" ;
                  echo  "<td>text</td>" ;
                  echo  "<td>text</td>" ;

                  if ($condition) {
                      echo  "</tr>" ;

                      echo  "<tr style='page-break-after:always;'>" ;
                      echo  "</tr>" ;
                  }
           }
           ?>
       </tbody>
    </table>

非常感谢您对此提供的任何帮助。

谢谢。

【问题讨论】:

  • 回显不需要括号,你可以去掉它们:)
  • 如果有帮助,我会引用另一篇帖子Setting float:none on all parent elements makes page-break-before:always work correctly.。根据 >stackoverflow.com/questions/4884380/…
  • 非常感谢!!我添加了 page-break-before 而不是 page-break-after 并在每个父元素上将 float 设置为 none,它就像一个魅力!再次感谢。

标签: php html css printing


【解决方案1】:

从使用带有结束标签的正确 HTML 开始

if ($condition) {
   echo ( "</tr>" );
   echo ( "<tr style='page-break-after:always;'>" );
   echo ( "</tr>" );
} else {
   echo ( "</tr>" );
}

如果没有帮助,请尝试

if ($condition) {
   echo ( "</tr>" );
   echo ( "<tr style='page-break-after:always;'>" );
   echo ( "</tr> " );
   echo ( ' <tr class="class_only_visible_when_printed"> ' );
   echo ( "  <th>Header 1</th> " );
   echo ( "  <th>Header 2</th> " );
   echo ( "  <th>Header 3</th> " );        
   echo ( " </tr> " );
} else {
   echo ( "</tr>" );
} 

【讨论】:

  • 谢谢!我已经尝试过您建议的第二种解决方案,但 IE 仍然会打印自然分页的标题。
猜你喜欢
  • 2012-07-06
  • 1970-01-01
  • 2017-11-08
  • 1970-01-01
  • 1970-01-01
  • 2011-02-27
  • 2011-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多