Odoo13 QWeb报表如何增大header空间,调整纸张格式不生效怎么解决
Odoo13 QWeb报表header遮挡后续页面内容解决方案
问题根因
该问题由Odoo QWeb报表依赖的wkhtmltopdf渲染特性导致:header为独立渲染的页面固定层,仅给页面添加全局padding-top只会作用于第一页的内容起始位置,后续分页时wkhtmltopdf不会自动计算header高度做内容偏移,因此会出现后续页面内容被header遮挡的情况。
问题现象示例:
解决方案
- 方案1:调整绑定的纸张格式参数
操作路径:进入Odoo后台→【设置】→【技术】→【报表】→【纸张格式】,找到你的报表绑定的纸张格式条目,将*上边距(Margin Top)*数值调整为大于header实际高度2~3mm的值(比如原header高度为30mm,可设置为33mm)。调整后需清空Odoo服务端缓存与浏览器缓存再预览报表,确认报表确实绑定了修改后的纸张格式,避免因绑定默认格式导致修改不生效。 - 方案2:自定义报表CSS强制适配渲染规则
在自定义报表模板中新增以下样式,覆盖默认渲染参数:<template id="custom_report_header_adjust" inherit_id="web.report_layout"> <xpath expr="//style" position="inside"> /* 全局页面边距设置,优先级高于纸张格式配置 */ @page { margin-top: 33mm !important; } /* 固定header高度与位置 */ .o_report_layout_header { position: fixed; top: 0; left: 0; right: 0; height: 30mm !important; overflow: hidden; } /* 每页内容统一设置顶部偏移,适配分页逻辑 */ .o_report_page { padding-top: 33mm !important; } </xpath> </template> - 方案3:排查header元素异常
检查header模板内是否存在设置了position: absolute、动态高度的元素,固定header整体高度避免动态撑开,防止wkhtmltopdf分页计算偏移量出错。
内容的提问来源于stack exchange,提问作者VishnuVnath
相关产品推荐
相关产品推荐

