python3转换code128条形码的方法

yipeiwu_com6年前Python基础

这年头如果用 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

总结

以上所述是小编给大家介绍的python3转换code128条形码的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python字符串中匹配数字的正则表达式

Python 正则表达式简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Python 自1.5版本起增加了re 模块,它提供 Perl 风格...

Django Aggregation聚合使用方法解析

在当今根据需求而不断调整而成的应用程序中,通常不仅需要能依常规的字段,如字母顺序或创建日期,来对项目进行排序,还需要按其他某种动态数据对项目进行排序。Djngo聚合就能满足这些要求。 以...

Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法

Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法

本文实例讲述了Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm': Invalid argument的解决方法。分享给大...

python实现最小二乘法线性拟合

python实现最小二乘法线性拟合

本文python代码实现的是最小二乘法线性拟合,并且包含自己造的轮子与别人造的轮子的结果比较。 问题:对直线附近的带有噪声的数据进行线性拟合,最终求出w,b的估计值。 最小二乘法基本...

使用python接入微信聊天机器人

本文实例为大家分享了python接入微信聊天机器人的具体代码,供大家参考,具体内容如下 1.安装库wxpy: pip install -U wxpy or pip instal...