python3轉換ITF25(交叉25

繼上篇的python3轉換code128條形碼之後,發現,由於code128密度太高,依然無法清晰列印。 迫於無奈,只能選擇這個密度低的條形碼,就是:交叉25碼Interleaved 2of5)。


這字型檔不好找啊。推薦:地址1 地址2 地址3

而且這個ITF25的轉換規則也很變態,看了幾篇文章後才領悟,參考:文章1 文章2


關鍵點是:

  1. 要用括弧包裹,用於標識開始和結束
  2. 每2個數字分割一次,獨立轉換為Unicode文字
    def conver_itf25(self, inputData):          start_index = 0          datalist = []          if len(inputData) % 2 is not 0:              start_index = 1              datalist.append(inputData[0])            datalist += re.findall(r'd{2}', inputData[start_index:])            result = ''          for i, numStr in enumerate(datalist):              intStr = int(numStr)                if intStr <= 49:                  result += chr(intStr + 48)              else:                  result += chr(intStr + 142)            return '(' + result + ')'

有需要的拿走,點個贊,謝了!