使用python调用zxing库生成二维码图片详解


Posted in Python onJanuary 10, 2017

(1)安装Jpype

用Python调用jar包需要安装jpype扩展,在Ubuntu上可以直接使用apt-get安装jpype扩展

$ sudo apt-get install python-jpype

(2) 得到zxing  jar包

使用zxing第三方库生成二维码图片,关于zxing的介绍可以看其github地址:https://github.com/zxing/zxing/。

我们可以下载源码编译安装包,也可以直接在网上下载jar包,我的jar包是直接下载的,如下:

$ wget http://repo1.maven.org/maven2/com/google/zxing/javase/2.2/javase-2.2.jar
$ wget http://repo1.maven.org/maven2/com/google/zxing/core/2.2/core-2.2.jar

(3) 使用python调用jar

下面使用zxing库生成QR_CODE的二维码图片:

#!/usr/bin/python 
#-*- encoding: utf-8 -*- 
 
from jpype import * 
 
# 启动JVM 
startJVM(getDefaultJVMPath(), "-ea", ("-Djava.class.path=%s" % "./javase-2.2.jar:./core-2.2.jar")) 
 
# 加载需要使用到的类型 
MultiFormatWriter = JClass("com.google.zxing.MultiFormatWriter") 
BarcodeFormat = JClass("com.google.zxing.BarcodeFormat") 
BitMatrix = JClass("com.google.zxing.common.BitMatrix") 
File = JClass("java.io.File") 
BufferedImage = JClass("java.awt.image.BufferedImage") 
ImageIO = JClass("javax.imageio.ImageIO") 
ByteArrayOutputStream = JClass("java.io.ByteArrayOutputStream") 
MatrixToImageWriter = JClass("com.google.zxing.client.j2se.MatrixToImageWriter") 
EncodeHintType = JClass("com.google.zxing.EncodeHintType") 
Hashtable = JClass("java.util.Hashtable") 
 
StrToEncode = "This is a testing string" 
# 设置Margin=0 
hints = Hashtable() 
hints.put(EncodeHintType.MARGIN, 0) 
 
matrix = MultiFormatWriter().encode(StrToEncode, BarcodeFormat.QR_CODE, 260, 260, hints) 
image = MatrixToImageWriter.toBufferedImage(matrix) 
ImageIO.write(image, "png", File("test.png")) 
 
# 关闭JVM 
shutdownJVM()

(4) 运行

运行程序得到的图片如下,可以使用二维码扫描工具得到二维码里面保存的信息

使用python调用zxing库生成二维码图片详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python ZipFile模块详解
Nov 01 Python
python抽象基类用法实例分析
Jun 04 Python
python 实现删除文件或文件夹实例详解
Dec 04 Python
python写一个md5解密器示例
Feb 23 Python
Python unittest模块用法实例分析
May 25 Python
Python WEB应用部署的实现方法
Jan 02 Python
Python Opencv任意形状目标检测并绘制框图
Jul 23 Python
解决Python设置函数调用超时,进程卡住的问题
Aug 08 Python
python+django+rest框架配置创建方法
Aug 31 Python
Python time库基本使用方法分析
Dec 13 Python
python redis存入字典序列化存储教程
Jul 16 Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 Python
利用Python生成文件md5校验值函数的方法
Jan 10 #Python
python中执行shell的两种方法总结
Jan 10 #Python
Python用list或dict字段模式读取文件的方法
Jan 10 #Python
python导入时小括号大作用
Jan 10 #Python
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 #Python
ubuntu系统下 python链接mysql数据库的方法
Jan 09 #Python
利用Python中unittest实现简单的单元测试实例详解
Jan 09 #Python
You might like
PHP调用三种数据库的方法(1)
2006/10/09 PHP
php db类库进行数据库操作
2009/03/19 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
php实现设计模式中的单例模式详解
2014/10/11 PHP
php实现mysql备份恢复分卷处理的方法
2014/12/26 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
jQuery基础知识filter()和find()实例说明
2010/07/06 Javascript
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
2015/11/26 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
AngularJS路由Ui-router模块用法示例
2017/05/29 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
详解Python的单元测试
2015/04/28 Python
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
听歌识曲--用python实现一个音乐检索器的功能
2016/11/15 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
python实现log日志的示例代码
2018/04/28 Python
python协程之动态添加任务的方法
2019/02/19 Python
Django 数据库同步操作技巧详解
2019/07/19 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
python语言中有算法吗
2020/06/16 Python
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
应用电子专业学生的自我评价
2013/10/16 职场文书
五型班组建设方案
2014/02/10 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
关于学习的决心书
2015/02/05 职场文书
暑期实践个人总结
2015/03/06 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
详解Python描述符的工作原理
2021/06/11 Python