python3转换code128条形码

发布时间:2019-10-18 09:07:08编辑:auto阅读(2348)

    干货不敢私藏,赶紧分享给大家。

    推荐2个网址:1.各种条形码区别 2.在线生成条形码


    这年头如果用python3做条形码的,肯定(推荐)用pystrich
    这货官方文档貌似都没写到支持Code128,但是居然有这个类(Code128Encoder)。。。。

    一些喷墨打印机,如果质量差一点的话,喷出来的条码,会沾到一起,不好识别。
    而用pystrich的话,会发觉宽度无法调节。

    于是想到了用条形码字体来自己控制大小,找是找到字库了,但是你会发觉,你生成的东西,无法被扫描识别,
    那是因为,这东西得转换后,才能打印啊。。。


    经过千辛万苦,终于找到一篇文章说到转换的,地址在这里
    我用的是Code128B,用python重写如下。

        def conver_code128b(self, inputData):
            checksum = 104
            for ii, char in enumerate(inputData):
                asciiStr = ord(char)
                if asciiStr >= 32:
                    checksum += (asciiStr - 32) * (ii + 1)
                else:
                    checksum += (asciiStr + 64) * (ii + 1)
    
            checksum = checksum % 103
            if checksum < 95:
                checksum += 32
            else:
                checksum += 100
    
            result = chr(204) + str(inputData) + chr(checksum) + chr(206)
            return result

    有需要的拿走,点个赞,谢了!

关键字