You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 05:27:32