一、python 生成一维码
博客专区 > ssshen 的博客 > 博客详情
一、python 生成一维码
ssshen 发表于2个月前
一、python 生成一维码
  • 发表于 2个月前
  • 阅读 8
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

生活中到处可见一维码,几乎所有的正规产品上都可以看到,这几天好奇使用python可不可以实现生成一维码,并打印的功能,还真让我找到方法了,下面记录一下过程。

所需软件:
pyBarcode 0.7 https://pypi.python.org/pypi/pyBarcode/0.7
python2.7.12
Pillow-4.2.1 https://pypi.python.org/pypi/Pillow/4.2.1
pywin32 https://pypi.python.org/pypi/pywin32/

第一步 生成一维码:

from barcode.writer import ImageWriter
from barcode.codex import Code39
from PIL import Image, ImageDraw, ImageFont, ImageWin
from StringIO import StringIO

def generagteBarCode(self):
        imagewriter = ImageWriter()
        #保存到图片中
        # add_checksum : Boolean   Add the checksum to code or not (default: True)
        ean = Code39("1234567890", writer=imagewriter, add_checksum=False)
        # 不需要写后缀,ImageWriter初始化方法中默认self.format = 'PNG'
        print '保存到image2.png'
        ean.save('image2')
        img = Image.open('image2.png')
        print '展示image2.png'
        img.show()
        
        # 写入stringio流中
        i = StringIO()
        ean = Code39("0987654321", writer=imagewriter, add_checksum=False)
        ean.write(i)
        i = StringIO(i.getvalue())
        img1 = Image.open(i)
        print '保存到stringIO中并以图片方式打开'
        img1.show()

效果如下:
输入图片说明

参考文章:
pyBarcode document http://pythonhosted.org/pyBarcode/writers/index.html
StringIO https://docs.python.org/2/library/stringio.html
pywin32 win32print http://timgolden.me.uk/python/win32_how_do_i/print.html
pillow document http://pillow.readthedocs.io/en/4.2.x/reference/ImageDraw.html#example-draw-a-gray-cross-over-an-image
pillow 图片处理示例 http://www.yeayee.com/article-6739499-1.html

共有 人打赏支持
粉丝 2
博文 31
码字总数 10565
×
ssshen
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: