我正在浏览最后几个小时,以找到解决有关最新puppeteer(2.0.0)/铬78.0.x的问题的解决方案,以使我们的打印系统正常工作。 我们允许在表格中设置分页符,但可以在PhantomJS渲染器中找到,但不能在puppeteer / chromium解决方案中找到。

除了全局css和打印PDF页眉/页脚的许多细微差别外,表格的打印是最后一个问题(希望如此)。

事实证明,“ page-break-before:always”被忽略了。

例:

<table>
   <thead> ... </thead>
   <tbody> ... 
       <tr style="page-break-before: always;"> ...should be on next page ... </tr>
   </tbody>
</table>

一些Chrome论坛文章指出,此问题已解决。 所以问题是造成问题的原因。

问候,安德烈

PS)后来我们发现:在表的所有标签上放置一个“ display:block”可以解决问题。 也许对某人有帮助。 对此有何评论?

<table style="display: block;">
   <thead style="display: block;"> ... </thead>
   <tbody style="display: block;"> ... 
       <tr style="display: block; page-break-before: always;"> ...is now on the next page ... </tr>
   </tbody>
</table>

===============>>#1 票数:0

我们上面提供的解决方案的坏消息。 这破坏了在每个页面上都有表头的功能。

设置1)设置“显示:块;” 对于thead,将禁用在每个页面上都有表格标题的功能。

==>没有分页符

设置2)将thead设置为“ display:table-header-group;” 然后将其设置为“ table-row-group”,则Chrome将忽略分页符。

==>每页上没有表头

设置3)使用thead:“ display:table-header-group;” tbody:“ display:block”正在破坏列结构。 主体将仅在第一列上呈现。

==>销毁表格。 身体就在第一列

这是我们解决问题的技巧。 我们使用设置3,它具有以下功能:-我们仅用一列构建一个表-该列包含一个表,其中包含我们真正要呈现的所有列-列宽设置为固定值(无论如何,在我们的呈现系统中就是这种情况)

<table>
  <thead>
     <tr>
        <td> <table> .... the header of the real table  </table> </td>
     </tr>
  </thead>


  <tbody style="display:block;">
     <tr>
        <td>
            <table> .... one row of the real table  </table>
        <td>
     </tr>

     <tr>
        <td>
            <table> .... another row of the real table  </table>
        <td>
     </tr>

  </tbody>
</table>

  ask by Andre Baresel translate from so

未解决问题?本站智能推荐: