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

Odoo生成PDF报告却输出HTML内容的问题求助

解决Odoo 16房产报价PDF生成为HTML内容的问题

以下是针对该问题的排查与解决步骤:

1. 确认报表XML的输出类型配置

检查你的报表XML定义,确保report_type属性设置为qweb-pdf,而非qweb-html。示例配置如下:

<report
    id="report_property_quotation"
    model="property.quotation"
    string="房产报价单"
    report_type="qweb-pdf"
    name="your_module.report_property_quotation_template"
    file="your_module.report_property_quotation_template"
    attachment_use="True"
/>

若误设为qweb-html,Odoo会直接输出HTML内容,不触发wkhtmltopdf转换流程。

2. 验证wkhtmltopdf的实际运行状态

虽然已解决“未找到”提示,但需确认工具本身可正常工作:

  • 登录服务器终端,执行wkhtmltopdf --version,确认返回有效版本信息(Odoo 16推荐使用0.12.6及以上版本)。
  • 测试基础转换功能:执行echo "<h1>测试内容</h1>" > test.html && wkhtmltopdf test.html test.pdf,检查生成的test.pdf能否正常打开。若此步骤失败,需重新安装适配服务器系统的wkhtmltopdf包。

3. 检查Odoo系统参数配置

进入Odoo后台,打开设置 > 技术 > 参数 > 系统参数,重点核查:

  • report.url:本地部署时需设为Odoo的本地访问地址(如http://localhost:8069),远程服务器可设为公网访问地址或http://127.0.0.1:8069(前提是Odoo监听本地端口),确保wkhtmltopdf能从服务器内部拉取渲染后的HTML内容。
  • report.background:建议保持默认值或设为True,若设为False可能干扰PDF生成流程。

4. 排查QWeb模板的语法与资源问题

模板的语法错误或资源加载失败可能导致转换中断,返回原始HTML:

  • 先使用极简模板(仅包含基础HTML结构与静态文本)测试,确认能否生成正常PDF,逐步恢复原有模板内容定位问题点。
  • 检查模板中动态指令(如t-foreach、t-if)的语法正确性,以及引用的CSS、图片等静态资源路径是否可被服务器访问。

5. 通过Odoo日志定位深层问题

开启调试级日志运行Odoo:./odoo-bin --log-level=debug,点击打印按钮后查看日志,重点关注wkhtmltopdf相关报错(如权限不足、资源加载超时、模板渲染异常等),根据日志信息针对性解决。


内容的提问来源于stack exchange,提问作者Vincent Lagache

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:45:24