python生成128码(code128)

#-*- encoding: utf-8 -*-
import logging
import sys
import os
import pygame
from pygame.locals import *
from hubarcode.code128 import Code128Encoder
from PIL import Image,ImageDraw,ImageFont

#logging.getLogger("code128").setLevel(logging.DEBUG)
#logging.getLogger("code128").addHandler(logging.StreamHandler(sys.stdout))
#12-80  10-80 10-60 12-60 10-70 12-70 10-70
'''
使用huBarcode,pygame和PIL生成条形码
'''
if __name__ == "__main__":
    #1 生成条形码
    text = "068080835AD000D10701014111".upper()
    encoder = Code128Encoder(text,options={"ttf_font":"C:/Windows/Fonts/SimHei.ttf","ttf_fontsize":12,
  "bottom_border":15,"height":70,"label_border":2})
    encoder.save("test.png",bar_width=1)
   
#2 生成条码描述
    pygame.init()
    content = u"P07D111140 T07D1111407010 20150321113322"
    font = pygame.font.SysFont('SimHei', 10)
    ftext = font.render(content, True, (0, 0, 0))
    pygame.image.save(ftext, "t.png")
   
#3 合成中文文字到条形码,生成新的条码
    img = Image.open("test.png")
    img_w, img_h = img.size
    icon = Image.open("t.png")
    icon_w, icon_h = icon.size
    icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)  
    w = int((img_w - icon_w) / 2)
    h = int((img_h - icon_h) / 2)+35
    icon = icon.convert("RGBA")
    img.paste(icon, (w, h), icon)
    img.save(text+".png")

猜你喜欢

转载自abudulemusa.iteye.com/blog/2194933
128