如何让wkhtmltopdf在Debian 9"Stretch"的Odoo v10中正常工作?
在Debian Stretch上为Odoo 10安装适配的wkhtmltopdf解决方案
先明确下你遇到的核心问题:Debian Stretch官方仓库的wkhtmltopdf因为缺少Qt补丁,完全没法满足Odoo 10的PDF报表需求(页眉页脚参数失效、报错-6),而Debian Jessie的非官方补丁版又不兼容Stretch,确实挺头疼的。结合目前社区的情况,给你整理下现状和可行方案:
目前适配现状
截至现在,针对Odoo 10 + Debian Stretch的官方适配wkhtmltopdf版本(带Qt补丁的0.12.1分支)还没有官方发布包。从相关GitHub Issue的讨论来看,社区暂时还没推出专门适配这个组合的预编译版本。
可尝试的解决方向
1. 手动编译带Qt补丁的wkhtmltopdf 0.12.1
这是最稳妥的方案,虽然步骤有点繁琐,但能100%保证兼容性:
- 先装齐编译依赖:
sudo apt-get install build-essential libssl-dev libxrender-dev libxext-dev libfontconfig1-dev libjpeg-dev - 下载wkhtmltopdf 0.12.1的源码,以及适配Debian Stretch的Qt补丁(注意要找对应版本的补丁,避免编译失败)
- 按照官方编译指南,先编译打了补丁的Qt库,再基于这个Qt编译wkhtmltopdf
- 编译完成后,把生成的
wkhtmltopdf可执行文件放到/usr/local/bin这类系统PATH目录里,然后在Odoo配置文件中指定这个路径(如果系统能自动识别到就不用额外配置)
2. 寻找社区维护的预编译Deb包
有些热心的社区用户会分享自己编译好的适配Stretch的带补丁版本,你可以去Odoo官方论坛或者GitHub上搜关键词「wkhtmltopdf 0.12.1 Debian Stretch」,找到合适的.deb包后用dpkg -i安装,安装完一定要测试下打印带页眉页脚的报表,确认参数能正常生效。
3. 临时用无头浏览器替代(应急方案)
如果编译和找预编译包都卡壳了,可以临时用Chrome/Chromium的无头模式来生成PDF救急:
- 先安装Chromium:
sudo apt-get install chromium-browser - 修改Odoo的报表生成逻辑,调用
chromium-browser --headless --print-to-pdf命令来生成PDF。不过这个方案需要你有一定的Odoo开发能力,适合临时过渡用。
内容的提问来源于stack exchange,提问作者ChesuCR
相关产品推荐
相关产品推荐

