Odoo 12:如何通过网络呈现 pdf?
Odoo 12 : How to render pdf throught web?
我正在尝试从 Web 获取 pdf,但是当我单击按钮呈现 pdf 时,出现错误:文件在 text/plain 中。这是代码:
@http.route('/comande/suivi/<int:orderid>', type='http', auth='user', website=True)
def print_suivi(self, orderid, **kw):
pdf = request.env.ref('modul_name.report_model_name').report_action(orderid, data={'order': orderid})
pdfhttpheaders = [('Content-Type', 'application/pdf'), ('Content-Length', len(pdf)),
('Content-Disposition', 'attachment; filename="report.pdf"')]
return request.make_response(pdf, headers=pdfhttpheaders)`
你能帮帮我吗?谢谢
添加render_qweb_pdf()
后就不需要使用report_action()
方法了。尝试做这样的事情:
pdf_report = request.env['report.module_name.report_template_name']
pdf, _ = request.env.ref('module_name.report_name').sudo().with_context().render_qweb_pdf(pdf_report)
pdfhttpheaders = [('Content-Type', 'application/pdf'), ('Content-Length', len(pdf))]
return request.make_response(pdf, headers=pdfhttpheaders)
我正在尝试从 Web 获取 pdf,但是当我单击按钮呈现 pdf 时,出现错误:文件在 text/plain 中。这是代码:
@http.route('/comande/suivi/<int:orderid>', type='http', auth='user', website=True)
def print_suivi(self, orderid, **kw):
pdf = request.env.ref('modul_name.report_model_name').report_action(orderid, data={'order': orderid})
pdfhttpheaders = [('Content-Type', 'application/pdf'), ('Content-Length', len(pdf)),
('Content-Disposition', 'attachment; filename="report.pdf"')]
return request.make_response(pdf, headers=pdfhttpheaders)`
你能帮帮我吗?谢谢
添加render_qweb_pdf()
后就不需要使用report_action()
方法了。尝试做这样的事情:
pdf_report = request.env['report.module_name.report_template_name']
pdf, _ = request.env.ref('module_name.report_name').sudo().with_context().render_qweb_pdf(pdf_report)
pdfhttpheaders = [('Content-Type', 'application/pdf'), ('Content-Length', len(pdf))]
return request.make_response(pdf, headers=pdfhttpheaders)