JSReport生成PDF时表格随机分页异常问题求助
JSReport chrome-pdf 表格随机分页异常求助
我使用JSReport(模板引擎:handlebars.js,PDF生成方案:chrome-pdf)通过HTML/CSS生成PDF报表时,遇到一种罕见且奇怪的表格随机分页异常情况。明明表格完全可以容纳在第一页中,却在第一行后就分页了。
我为table元素设置了CSS属性page-break-inside: auto;,为tr元素设置了page-break-inside: avoid; page-break-after: auto;,以实现跨页表格的正常分页。
奇怪的是,即使移除这些属性或尝试其他组合——比如仅为该表格设置page-break-inside: avoid;,为其tr元素设置page-break-inside: avoid; page-break-after: avoid;,或是完全移除所有相关属性——该表格仍会出现同样的分页问题。
在使用不同数据生成报表时,该问题可能随机出现在报表中的任意表格,分页位置不固定(有时在表格中间,有时仅几行后就分页等)。总体来说,该问题出现概率较低,约每生成25个表格会出现一次。
试过所有与分页相关的CSS属性组合无果后,特此求助,希望有人遇到过类似问题或能提供进一步的调试思路。
编辑补充:附上出现异常的表格的HTML和CSS代码,若需其他信息可随时提供。
表格CSS代码
table { table-layout: auto; height: auto; width: 100%; border: none; border-collapse: collapse; font-size: 11px; page-break-inside: auto; } tbody tr { border-top: var(--border-tr); border-bottom: var(--border-tr); page-break-inside: avoid; page-break-after: auto; }
表格HTML代码
<table> <thead> <tr> <th>Type</th> <th>Number of transactions</th> <th>Gross*</th> <th>Fee*</th> <th>Tax*</th> <th>Net Amount*</th> </tr> </thead> <tbody> <tr> <td>Buy</td> <td>14</td> <td>51,756.55</td> <td>0.00</td> <td>0.00</td> <td>51,756.55</td> </tr> <tr> <td>Dividend</td> <td>71</td> <td>18,361.75</td> <td>0.00</td> <td>0.00</td> <td>18,361.75</td> </tr> <tr> <td>Fee</td> <td>2</td> <td>59.47</td> <td>0.00</td> <td>0.00</td> <td>59.47</td> </tr> <tr> <td>Interest</td> <td>6</td> <td>43.05</td> <td>0.00</td> <td>0.00</td> <td>43.05</td> </tr> <tr> <td>Management fee</td> <td>2</td> <td>1,981.24</td> <td>0.00</td> <td>0.00</td> <td>1,981.24</td> </tr> <tr> <td>Sell</td> <td>12</td> <td>48,726.23</td> <td>7.87</td> <td>0.00</td> <td>48,718.36</td> </tr> <tr> <td>Tax Withholding</td> <td>1</td> <td>351.28</td> <td>0.00</td> <td>0.00</td> <td>351.28</td> </tr> <tr> <td>Withdrawal</td> <td>7</td> <td>26,368.75</td> <td>0.00</td> <td>0.00</td> <td>26,368.75</td> </tr> <tr> <td colspan="100%"></td> </tr> <tr class="totalFooter"> <td>Total</td> <td>115</td> <td>147,648.32</td> <td>7.87</td> <td>0.00</td> <td>147,640.45</td> </tr> </tbody> </table>
内容的提问来源于stack exchange,提问作者Jared Jensen
相关产品推荐
相关产品推荐

