Escpos Thermal ZJ58 Python Code128条码打印不显示任何内容

2024-04-28 16:52:01 发布

您现在位置:Python中文网/ 问答频道 /正文

from escpos.printer import Usb

p = Usb(0x0416, 0x5011, 0, 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)

我试着打印代码128和ean条形码。我只收到这样的短信

@1324354657687

@I{B012ABCDabcd

。我试图添加字体文件(这是没有用的),以改变代码类型和一些其他无用的东西。我研究了网上的文件和手册。我可以打印文本和图像

我用这个https://github.com/escpos/python-escpos

我使用的打印机:紫江热敏ZJ-5890

你知道为什么我只收到字母而没有条形码吗


Tags: 文件代码textfromimageimportpngprinter
1条回答
网友
1楼 · 发布于 2024-04-28 16:52:01

查看源代码时,您提供的库不支持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, bc, height=64, width=3, pos='BELOW', font='A', align_ct=True, function_type=None, check=True)

Parameters

  • bc –
    Possible values for type B:
    • CODE128
    • GS1-128

CODE128
Code128 barcodes need a certain format. For now the user has to make sure that the payload is correct. For alphanumeric CODE128 you have to preface your payload with {B.

from escpos.printer import Dummy, Serial
p = Serial()
# print CODE128 012ABCDabcd
p.barcode("{B012ABCDabcd", "CODE128", function_type="B")

相关问题 更多 >