文档章节

一、python 生成一维码

ssshen
 ssshen
发布于 2017/08/31 17:22
字数 279
阅读 41
收藏 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

© 著作权归作者所有

共有 人打赏支持
ssshen
粉丝 2
博文 34
码字总数 12481
作品 0
海淀
程序员
私信 提问
入门 | 数据科学初学者必知的NumPy基础知识

  选自TowardsDataScience   作者:Ehi Aigiomawu   机器之心编译   参与:李诗萌、路      本文介绍了一些 NumPy 基础知识,适合数据科学初学者学习掌握。      NumPy(Num...

机器之心
04/21
0
0
1.python数据分析与展示----Numpy

1.数据的维度 一维数据:一维数据由对等关系的有序或无序数据构成,采用线性方式组织,如: 3.1413, 3.1398, 3.1404, 3.1401, 3.1349, 3.1376 对应列表、数组和集合等概念 列表和数组的区别:...

bxg1065283526
04/27
0
0
使用 Python 生成二维条形码 QR Codes

前几天,我估摸着做一个能生成QR Code小程序,并能用wxPython在屏幕上显示出来。当然,我想用纯Python实现,观望了一会后,我找到了三个候选: github 上的 python-qrcode sourceforge上的 ...

tsl0922
2012/11/26
2.1K
0
range()、np.arange()和np.random相关总结

range()和xrange()函数 在 python 2.x 版本中,同时存在range()和xrange()函数,其中,range()返回值是一个列表,xrange()返回值是一个迭代器; 在 python 3.x 版本中,取消了xrange(...

他与理想国
12/04
0
0
Python 练习册-题目解答参考

所有题目的链接在这里:[Python练习册-OSChina][1] 第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字 python库:大家都会说PIL,但是根据StackOverflow的建议,采用[Pillow...

NineRec
2015/01/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ES5和ES6那些你必须知道的事儿

  ES5和ES6那些你必须知道的事儿      ES5新增的东西      一、数组方法      1、forEach      用途:遍历,循环      对于空数组不会执行回调函数      复制代码...

SEOwhywhy
24分钟前
2
0
转:[windows]DOS批处理添加任务计划

[windows]DOS批处理添加任务计划 博客分类: Windows 转自:http://gwmold.blog.163.com/blog/static/1553319892010117113457232/ 自动创建每周运行一次的计划任务 创建计划任务可用at,sch...

SamXIAO
28分钟前
3
0
redis 问题总结

1:修改内存页大小,linux 默认大小是4k(通过getconf PAGE_SIZE 查看 2:查看内存交换信息,防止使用内存交换 3: sar -n DEV 查看网络状况 4: 修改文件句柄: ulimit -n 65535 5: info memo...

昏鸦
30分钟前
2
0
如何在Rails应用程序中使用Kafka?

背景介绍 有那么一段时间,我们的系统需要用到分布式流式处理和消息系统,而 Apache Kafka 似乎成了我们建立业务关键型应用程序的坚实基础。它可用于很多场景下,比如产品更新管道、订单跟踪...

java菜分享
31分钟前
2
0
C#匿名委托

list自定义排序 //list自定义排序public static List<string> sortList(List<string> m_str,string splitStr) //a b表示列表中的元素{String[] strArray=m_str.ToArray();......

青衣霓裳
41分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部