如何解决Escpos Thermal ZJ-58 Python Code128 条码打印无任何显示
from escpos.printer import Usb
p = Usb(0x0416,0x5011,0x81,0x03)
p.text("=================\n")
#p.image("./barcode/barcode.png")
#p.barcode('1324354657687','EAN13',64,2,'','./fonts/code128.ttf')
### barcode(code,bc,width,height,pos,font)
p.barcode("{B012ABCDabcd","CODE128",function_type="B")
# Print QR Code
#p.qr("You can readme from your smartphone")
#p.cut()
#print(p.control('LF',16))
#print(p.device)
我尝试打印 code128 和 ean 条码。我只有这样的文字;
@1324354657687
@I{B012ABCDabcd
。我尝试添加字体文件(这没有用)、更改代码类型和其他一些无用的东西。我研究了互联网上的文件和手册。我可以打印文本和图像。
我用这个https://github.com/escpos/python-escpos
我使用的打印机:紫江热敏ZJ-5890
知道为什么我只得到字母而不是条形码吗?
解决方法
您提供的库在查看源代码时不支持 Code128 条码。
python-escpos/escpos/escpos.py#L150
def barcode(self,code,bc,width,height,pos,font):
""" Print Barcode """
... Omitted on the way ...
# Type
if bc.upper() == "UPC-A":
self._raw(BARCODE_UPC_A)
elif bc.upper() == "UPC-E":
self._raw(BARCODE_UPC_E)
elif bc.upper() == "EAN13":
self._raw(BARCODE_EAN13)
elif bc.upper() == "EAN8":
self._raw(BARCODE_EAN8)
elif bc.upper() == "CODE39":
self._raw(BARCODE_CODE39)
elif bc.upper() == "ITF":
self._raw(BARCODE_ITF)
elif bc.upper() == "NW7":
self._raw(BARCODE_NW7)
else:
raise BarcodeTypeError()
# Print Code
似乎有一个同名的库,为什么不尝试使用它呢?
python-escpos 2.2.0
python-escpos/python-escpos
python-escpos - Python library to manipulate ESC/POS Printers
Printing Barcodes
Escpos.barcode(code,height=64,width=3,pos='BELOW',font='A',align_ct=True,function_type=None,check=True)
参数
- 公元前 –
类型 B 的可能值:- CODE128
- GS1-128
CODE128
Code128 条码需要一定的格式。现在,用户必须确保有效载荷是正确的。对于字母数字 CODE128,您必须以 {B.
from escpos.printer import Dummy,Serial
p = Serial()
# print CODE128 012ABCDabcd
p.barcode("{B012ABCDabcd","CODE128",function_type="B")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。