侧边栏壁纸
博主头像
daixinmini的小屋博主等级

阿巴阿巴阿巴

  • 累计撰写 14 篇文章
  • 累计创建 4 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

wkhtmltopdf 打印表格时行高突然变高的解决方法

380025303@qq.com
2026-03-18 / 0 评论 / 0 点赞 / 35 阅读 / 833 字

问题背景

在 Web 开发中,使用 wkhtmltopdf 将 HTML 转换为 PDF 是一项常见需求。然而,在处理长表格(Table)分页时,经常会遇到一个诡异的 Bug:原本正常的表格行出现了莫名其妙的空白拉伸。

核心原因分析

wkhtmltopdf 使用的是较旧的 Webkit 渲染引擎(类似于早期 Chrome)。

默认情况下,当一个 <tr>(表格行)的高度跨越了分页线,引擎会尝试将其拆分。但在拆分过程中,旧内核对剩余空间的计算往往会出现偏差,为了“填满”或“对齐”物理页面边缘,它会错误地拉伸行高以填补空白。

终极解决方案

最直接且有效的办法是:强制禁止表格行内部发生分页(Avoid Break Inside)。

通过 CSS 属性 page-break-inside: avoid,我们可以明确告知渲染引擎:如果这一行在当前页面显示不全,请直接将整行推送到下一页,而不是从中间切断。

核心 CSS 代码:

/* 解决行高拉伸的关键方案 */
tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
}

0
  • ${post.likes!0}

评论区