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

如何在Odoo报表所有页面添加水印?当前代码仅首页可见

解决Odoo报表水印仅显示在第一页的问题

遇到这个问题太常见了,本质是默认的HTML元素不会自动在分页后重复渲染。下面给你两种可靠的解决方案,适配不同Odoo版本和PDF渲染引擎:

方案一:使用CSS @page 背景图(推荐)

这种方法利用PDF渲染引擎的页面背景特性,让水印自动出现在每一页:

  1. 在你的QWeb报表模板中,添加动态生成的样式规则:
<style type="text/css">
    @page {
        /* 保留原有报表的边距设置,如果有的话 */
        margin: 2cm;
        /* 设置水印背景 */
        background-image: url('data:image/png;base64,{{ doc.company_id.report_header_logo }}');
        background-position: center center;
        background-repeat: no-repeat;
        background-size: 350px auto; /* 根据需求调整水印大小 */
    }

    /* 可选:部分渲染引擎不支持@page的opacity,添加半透明覆盖层降低水印亮度 */
    body::after {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.7);
        z-index: 1;
        pointer-events: none;
    }
</style>
  1. 移除原来的<div class="watermark_report">元素,因为@page背景已经自动处理每页的水印了。

方案二:使用固定定位的水印容器

如果@page方法在旧版Odoo(用wkhtmltopdf)中不生效,可以用固定定位让水印在每个页面都显示:

  1. 调整HTML结构,确保水印容器在报表最外层:
<div class="watermark_report">
    <img t-att-src="'data:image/png;base64,'+ doc.company_id.report_header_logo"/>
</div>

<!-- 你的报表内容容器 -->
<div class="report_content">
    <!-- 原有报表内容 -->
</div>
  1. 添加对应的CSS样式:
<style type="text/css">
    .watermark_report {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        opacity: 0.2; /* 调整水印透明度 */
        z-index: -1; /* 确保水印在内容下方 */
        width: 350px; /* 调整水印大小 */
        height: auto;
    }

    /* 确保报表内容不会被水印遮挡 */
    .report_content {
        position: relative;
        z-index: 1;
    }
</style>

额外注意点

  • Odoo 16+默认用Weasyprint渲染PDF,两种方案都能完美生效;旧版本用wkhtmltopdf的话,需要在Odoo设置中启用--enable-javascript参数,确保固定定位正常工作。
  • 建议先测试水印的大小和透明度,调整到不影响内容阅读的视觉效果。
  • 如果公司logo本身不透明,可以先在图片工具中降低透明度再上传,避免CSS透明度带来的兼容问题。

内容的提问来源于stack exchange,提问作者Ketan Chauhan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:22:17