Image 如何在Odoo/OpenERP中打印mako报告中的条形码?

Image 如何在Odoo/OpenERP中打印mako报告中的条形码?,image,base64,odoo-8,odoo,mako,Image,Base64,Odoo 8,Odoo,Mako,我可以在报告中打印这样的静态图像: 我可以用base64代码打印图像,如下所示: 但是如何从url打印图像?在呈现报告时,是否有方法将图像动态编码为base64 实际上我想做的是在用mako创建的报告中打印条形码。条形码是通过使用url的控制器创建的,因此我需要创建如下条形码图像: 我怎样才能做到这一点 更新:我也试过这个 如果我尝试最后两个选项,则会出现以下错误: ERROR dnname openerp.service.report:异常:('Webkit ERROR',

我可以在报告中打印这样的静态图像:


我可以用base64代码打印图像,如下所示:


但是如何从url打印图像?在呈现报告时,是否有方法将图像动态编码为base64


实际上我想做的是在用mako创建的报告中打印条形码。条形码是通过使用url的控制器创建的,因此我需要创建如下条形码图像:


我怎样才能做到这一点

更新:我也试过这个


如果我尝试最后两个选项,则会出现以下错误:

ERROR dnname openerp.service.report:异常:('Webkit ERROR',“命令'wkhtmltopf'失败,错误代码为1。消息:提供了以下诊断消息:\n由于网络错误,代码为1的nExit:ContentNotFoundError\n”)
回溯(最近一次呼叫最后一次):
文件“/opt/odoo/odoo_pan/src/openerp/service/report.py”,第93行,在go中
结果,format=openerp.report.render_报告(cr、uid、ID、对象、数据、上下文)
文件“/opt/odoo/odoo_pan/src/openerp/report/_init__.py”,第40行,在渲染报告中
返回注册表['ir.actions.report.xml'].render_报告(cr、uid、ID、名称、数据、上下文)
文件“/opt/odoo/odoo_pan/src/openerp/api.py”,第268行,在包装器中
返回旧的_api(self、*args、**kwargs)
文件“/opt/odoo/odoo\u pan/src/addons/base/ir/ir\u actions.py”,第156行,在render\u报告中
返回新报告。创建(cr、uid、res\u ID、数据、上下文)
文件“/opt/odoo/odoo_pan/src/addons/report_webkit/webkit_report.py”,第377行,在create中
result=self.create\u source\u pdf(光标、uid、ID、数据、报告\u xml、上下文)
文件“/opt/odoo/odoo\u pan/src/openerp/report/report\u sxw.py”,第462行,在create\u source\u pdf中
返回self.create\u single\u pdf(cr、uid、ID、数据、报表xml、上下文)
文件“/opt/odoo/odoo\u pan/src/addons/report\u webkit/webkit\u report.py”,第358行,在create\u single\u pdf中
pdf=self.generate\u pdf(bin,report\u xml,head,foot,htmls)
文件“/opt/odoo/odoo\u pan/src/addons/report\u webkit/webkit\u report.py”,第220行,生成pdf
_(“wkhtmltopdf”命令失败,错误代码=%s。消息:%s”)%(状态,错误消息))
除以下形式外:('Webkit error',“命令'wkhtmltopdf'失败,错误代码为1。消息:提供了以下诊断消息:\n由于网络错误,代码为1的下一条消息:ContentNotFoundError\n”)

这可能只是一个格式错误。尝试将“&;”更改为“&”:


多个GET参数由“&”分隔

顺便问一下:为什么不使用这些参数来获得正确的图像大小,而不需要在之后对其进行样式设置:

<img src="/report/barcode/?type=EAN13&value=5546903283256&width=300&height=50" />

最后,我创建了一个新的计算字段以获取base64代码

class StockMove(models.Model):
_inherit=“stock.move”
条形码\图像=字段。文本(
string='Barcode image',
compute=''计算条形码图像',
)
@api.1
@api.dependens('product_id'))
def_计算_条形码_图像(自身):
如果self.product\u id.product\u tmpl\u id.ean13:
尝试:
条形码=self.env['report'].条形码(
“EAN13”,
self.product\u id.product\u tmpl\u id.ean13,
宽度=300,
高度=50,
可读性=0
)
除了(ValueError,AttributeError):
引发警告(uz('无法转换为条形码'))
条形码_base64=base64.b64编码(条形码)
self.barcode_image='数据:image/png;base64,“+条形码”\u base64
其他:
self.barcode\u image=无
我在mako报告中添加了以下内容:

%如果line.product\u id和line.product\u id.ean13:
%恩迪夫

相对于要将图像放入的文档,控制器的位置在哪里?url地址是正确的,如果我直接在浏览器中加载地址,则会加载图像。我从根目录加载
/
,因此有一个绝对地址。我用错误@zodoSure更新了答案,我已经尝试过了。我已经试过很多方法,但都不管用;)谢谢
<img src="/report/barcode/?type=EAN13&value=5546903283256&width=300&height=50" />