Openerp Webkit 报告出现 OsError
我想在我的openerp7上使用webkit报表引擎,我按照这个网站上的教程一步一步操作,链接是 http://castilloinformatica.com/wiki/index.php?title=Webkit_Report_Engine
我已经安装了这些模块,
sale,
report_webkit,
base_headers_webkit,
report_webkit_chapter_server,
invoice_webkit,
sale_order_webkit
并且把/usr/bin/wkhtmltopdf添加到了设置里。
但是当我尝试打印报价单时,出现了以下错误:
- - [28/May/2014 13:47:47] "POST /web/dataset/call_button HTTP/1.1" 200 -
2014-05-28 13:47:47,470 1877 ERROR openerp-report-demo-data3 openerp.addons.report_webkit.webkit_report: cannot remove file /tmp/webkit.tmp.8sv0Eg.pdf: [Errno 2] No such file or directory: '/tmp/webkit.tmp.8sv0Eg.pdf'
2014-05-28 13:47:47,470 1877 ERROR openerp-report-demo-data3 openerp.service.web_services: Exception: [Errno 8] Exec format error
Traceback (most recent call last):
File "/opt/openerp-report/server/openerp/service/web_services.py", line 712, in go
(result, format) = obj.create(cr, uid, ids, datas, context)
File "/opt/openerp-report/addons/report_webkit/webkit_report.py", line 340, in create
result = self.create_source_pdf(cursor, uid, ids, data, report_xml, context)
File "/opt/openerp-report/server/openerp/report/report_sxw.py", line 513, in create_source_pdf
return self.create_single_pdf(cr, uid, ids, data, report_xml, context)
File "/opt/openerp-report/addons/report_webkit/webkit_report.py", line 314, in create_single_pdf
pdf = self.generate_pdf(bin, report_xml, head, foot, htmls)
File "/opt/openerp-report/addons/report_webkit/webkit_report.py", line 165, in generate_pdf
status = subprocess.call(command, stderr=stderr_fd)
File "/usr/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error
2014-05-28 13:47:47,622 1877 ERROR openerp-report-demo-data3 openerp.netsvc: 8
Exec format error
(<type 'exceptions.OSError'>, OSError(8, 'Exec format error'), <traceback object at 0xb3f6bdec>)
Traceback (most recent call last):
File "/opt/openerp-report/server/openerp/netsvc.py", line 292, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp-report/server/openerp/service/web_services.py", line 654, in dispatch
res = fn(db, uid, *params)
File "/opt/openerp-report/server/openerp/service/web_services.py", line 760, in exp_report_get
return self._check_report(report_id)
File "/opt/openerp-report/server/openerp/service/web_services.py", line 738, in _check_report
netsvc.abort_response(exc, exc.message, 'warning', exc.traceback)
File "/opt/openerp-report/server/openerp/netsvc.py", line 71, in abort_response
raise openerp.osv.osv.except_osv(description, details)
except_osv: (u'8\nExec format error', (<type 'exceptions.OSError'>, OSError(8, 'Exec format error'), <traceback object at 0xb3f6bdec>))
> /opt/openerp-report/server/openerp/netsvc.py(71)abort_response()
-> raise openerp.osv.osv.except_osv(description, details)
(Pdb)
我该如何解决这个错误呢?
2 个回答
0
尝试在openerp中设置wkhtmltopdf的路径(可以在终端输入“which wkhtmltopdf”来获取这个路径)
在设置->系统参数下进行操作
希望这对你有帮助
1
这里的问题在于系统参数 webkit_path
的名字有点误导。你可能会想,这个参数应该是 wkhtmltopdf 的路径或目录。
其实,webkit_path
需要包含可执行文件的路径。在 Linux 系统中,这个路径可能是这样的:
/home/my_home_dir/wkhtmltopdf/bin/wkhtmltopdf
在 Windows 系统中,路径可能是:
C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe
当然,这个路径会根据你安装 wkhtmltox 的位置而有所不同。