我需要使用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"/>
有什么建议吗?
非常感谢。
事实上,
<barcode encoding="CODE39"><t t-esc='receipt.coupon_code'/></barcode>
工作非常完美。。。
问题是receipt.coupon_code.的长度
仅供参考,此coupon_code是随机生成的。它成功地打印了带有8位代码的条形码,以"*"(例如*12345678*
)开头和结尾
我创建了一个收据,我知道如何在收据中写入条形码。为此,你必须将条形码转换为图像,然后将其拆分。你必须在.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中存储条形码的字段。