wkhtmltopdf 失败(错误代码:-8)。消息:b" odoo 12

wkhtmltopdf failed (error code: -8). Message: b" odoo 12

当我想打印任何报告时,我收到此消息:wkhtmltopdf 失败(错误代码:-8)。消息:b

此问题仅适用于 Odoo 12 版本,但对于以前的版本它运行良好.. 此 link 将显示警告消息:Wkhtmltopdf warning

这是日志:

Traceback (most recent call last):
  File "/home/nebil/.environments/Odoo12/lib/python3.6/site-packages/werkzeug/serving.py", line 205, in run_wsgi
    execute(self.server.app)
  File "/home/nebil/.environments/Odoo12/lib/python3.6/site-packages/werkzeug/serving.py", line 193, in execute
    application_iter = app(environ, start_response)
  File "/home/nebil/Documents/odoo/odoo/service/server.py", line 350, in app
    return self.app(e, s)
  File "/home/nebil/Documents/odoo/odoo/service/wsgi_server.py", line 128, in application
    return application_unproxied(environ, start_response)
  File "/home/nebil/Documents/odoo/odoo/service/wsgi_server.py", line 117, in application_unproxied
    result = odoo.http.root(environ, start_response)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 1317, in __call__
    return self.dispatch(environ, start_response)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 1290, in __call__
    return self.app(environ, start_wrapped)
  File "/home/nebil/.environments/Odoo12/lib/python3.6/site-packages/werkzeug/wsgi.py", line 599, in __call__
    return self.app(environ, start_response)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 1485, in dispatch
    result = ir_http._dispatch()
  File "/home/nebil/Documents/odoo/addons/auth_signup/models/ir_http.py", line 19, in _dispatch
    return super(Http, cls)._dispatch()
  File "/home/nebil/Documents/odoo/addons/web_editor/models/ir_http.py", line 22, in _dispatch
    return super(IrHttp, cls)._dispatch()
  File "/home/nebil/Documents/odoo/addons/http_routing/models/ir_http.py", line 394, in _dispatch
    result = super(IrHttp, cls)._dispatch()
  File "/home/nebil/Documents/odoo/odoo/addons/base/models/ir_http.py", line 207, in _dispatch
    return cls._handle_exception(e)
  File "/home/nebil/Documents/odoo/odoo/addons/base/models/ir_http.py", line 177, in _handle_exception
    return request._handle_exception(exception)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 773, in _handle_exception
    return super(HttpRequest, self)._handle_exception(exception)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 312, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/home/nebil/Documents/odoo/odoo/tools/pycompat.py", line 87, in reraise
    raise value
  File "/home/nebil/Documents/odoo/odoo/addons/base/models/ir_http.py", line 203, in _dispatch
    result = request.dispatch()
  File "/home/nebil/Documents/odoo/odoo/http.py", line 832, in dispatch
    r = self._call_function(**self.params)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 344, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/nebil/Documents/odoo/odoo/service/model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 337, in checked_call
    result = self.endpoint(*a, **kw)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 938, in __call__
    return self.method(*args, **kw)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 517, in response_wrap
    response = f(*args, **kw)
  File "/home/nebil/Documents/odoo/addons/sale/controllers/portal.py", line 150, in portal_order_page
    return self._show_report(model=order_sudo, report_type=report_type, report_ref='sale.action_report_saleorder', download=download)
  File "/home/nebil/Documents/odoo/addons/portal/controllers/portal.py", line 280, in _show_report
    report = getattr(report_sudo, method_name)([model.id], data={'report_type': report_type})[0]
  File "/home/nebil/Documents/odoo/odoo/addons/base/models/ir_actions_report.py", line 686, in render_qweb_pdf
    set_viewport_size=context.get('set_viewport_size'),
  File "/home/nebil/Documents/odoo/odoo/addons/base/models/ir_actions_report.py", line 418, in _run_wkhtmltopdf
    raise UserError(message % (str(process.returncode), err[-1000:]))
odoo.exceptions.UserError: ("Wkhtmltopdf failed (error code: -8). Message: b''", '') - - -

请帮帮我..

我找到了解决这个问题的方法。 试试这个:

sudo apt install ttf-mscorefonts-installer
sudo fc-cache -f -v

问题出在字体上。在 Odoo12 中,Bootstrap 4 的默认字体是 Noto Color Emoji,因此,当您生成报告时,wkhtmltopdf 会崩溃。在这个包之后你将拥有这个字体。 如果问题仍然存在,请尝试安装 - http://download.odoo.com/fonts/Roboto-Regular.ttf 告诉我它是否有效。您可以在此处跟踪此问题 - https://github.com/odoo/odoo/issues/27487