我需要使用posbox 在Odoo(v8) pos收据上打印条形码。 我试过这样:
<barcode encoding="CODE39"><t t-esc='receipt.coupon_code'/></barcode>
结果:没有打印任何内容。但是,如果我做一个测试,如:
<barcode encoding="CODE39">*123456798*</barcode>
打印条形码。
我也尝试过这样做没有成功:
<img t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s' % ('CODE39', receipt.coupon_code, 600, 100)" style="width:300px;height:50px"/>
有什么建议吗?
非常感谢。
答案 0 :(得分:1)
事实上,
<barcode encoding="CODE39"><t t-esc='receipt.coupon_code'/></barcode>
完美运作......
问题是receipt.coupon_code的长度。
有关信息,此coupon_code是随机生成的。
它使用8位代码成功打印条形码,以“*”开头和结尾(例如*12345678*
)
答案 1 :(得分:0)
我创建了一张收据,我知道如何在收据中写条形码,因为您必须在图像中转换条形码然后拆分它。您必须在.xml文件中进行更改。步骤如下:
使用<img>
标记在图像中转换此代码,之后将其拆分为:
<img t-if="field_name" t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s&humanreadable=%s' % ('Code128', field_name.split(' ')[1], 600, 100, 1)" style="width:300px;height:50px"/>
此处 field_name 是存储条形码的py字段。