资讯专栏INFORMATION COLUMN

python3转换code128条形码

baihe / 1181人阅读

摘要:推荐个网址各种条形码区别在线生成条形码这年头如果用做条形码的,肯定推荐用。一些喷墨打印机,如果质量差一点的话,喷出来的条码,会沾到一起,不好识别。经过千辛万苦,终于找到一篇文章说到转换的,地址在这里我用的是,用重写如下。

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

推荐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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43603.html

相关文章

  • python3转换ITF25(交叉25)形码

    摘要:继上篇的转换条形码之后,发现,由于密度太高,依然无法清晰打印。迫于无奈,只能选择这个密度低的条形码,就是交叉码。 继上篇的python3转换code128条形码之后,发现,由于code128密度太高,依然无法清晰打印。迫于无奈,只能选择这个密度低的条形码,就是:交叉25码(Interleaved 2of5)。 这字库不好找啊。推荐:地址1 地址2 地址3 而且这个ITF25的转换规则...

    beanlam 评论0 收藏0

发表评论

0条评论

baihe

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<