python3转换code128条形码的方法

yipeiwu_com7年前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 上下文管理器使用方法小结

上下文管理器最常用的是确保正确关闭文件, with open('/path/to/file', 'r') as f: f.read() with 语句的基本语法, with...

python实现顺时针打印矩阵

python实现顺时针打印矩阵

面试题之顺时针打印矩阵,Python实现,供大家参考,具体内容如下 问题描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,输入如下矩阵:   则依次...

python 将日期戳(五位数时间)转换为标准时间

python 将日期戳(五位数时间)转换为标准时间

5位数日期戳 读取 .mat 文件处理里面数据时,发现里面的日期数据全部都是 “5位数” 数字,很不解; 后来查到可以在excel中通过设置单元格调回标准日期格式,如下: 选中日期戳,...

python通过实例讲解反射机制

python通过实例讲解反射机制

一、反射机制简介: 通过字符串的形式导入模块 通过字符串的形式,去模块中寻找指定的函数,并执行 规定用户输入格式 模块名/函数名 通过__import__的形式导入模块,并...

Python中__repr__和__str__区别详解

看下面的例子就明白了 class Test(object): def __init__(self, value='hello, world!'): self.data =...