python3轉換code128條形碼
- 2020 年 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
有需要的拿走,點個贊,謝了!