这年头如果用 python3 做条形码的,肯定(推荐)用 pystrich 。
这货官方文档貌似都没写到支持 Code128 ,但是居然有这个类( Code128Encoder )。。。。
一些喷墨打印机,如果质量差一点的话,喷出来的条码,会沾到一起,不好识别。
而用 pystrich 的话,会发觉宽度无法调节。
于是想到了用 条形码字体 来自己控制大小,找是找到字库了,但是你会发觉,你生成的东西,无法被扫描识别,
那是因为,这东西得转换后,才能打印啊。。。
经过千辛万苦,终于找到一篇文章说到转换的,地址在这里
我用的是Code128B,用python重写如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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
|
PS:服务器之家推荐一款在线条形码生成器|条形码在线制作工具 https://tool.zzvips.com/t/tiaoxingma/
总结
以上所述是小编给大家介绍的python3转换code128条形码的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
原文链接:https://segmentfault.com/a/1190000018890585