使用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列表操作实例
Jan 14 Python
python通过yield实现数组全排列的方法
Mar 18 Python
使用Pyrex来扩展和加速Python程序的教程
Apr 13 Python
Python利用递归和walk()遍历目录文件的方法示例
Jul 14 Python
基于Python中单例模式的几种实现方式及优化详解
Jan 09 Python
基于MTCNN/TensorFlow实现人脸检测
May 24 Python
Python常见的pandas用法demo示例
Mar 16 Python
django之状态保持-使用redis存储session的例子
Jul 28 Python
Python3多线程版TCP端口扫描器
Aug 31 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
Python基于DB-API操作MySQL数据库过程解析
Apr 23 Python
Python数据可视化之绘制柱状图和条形图
May 25 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 文件缓存函数
2011/10/08 PHP
PHP实现的增强性mhash函数
2015/05/27 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
jQuery 注意事项 与原因分析
2009/04/24 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
2015/08/11 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
Vue formData实现图片上传
2019/08/20 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
python OpenCV学习笔记之绘制直方图的方法
2018/02/08 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
Wallis官网:英国女装零售商
2020/01/21 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
学校安全检查制度
2014/01/27 职场文书
机关保密承诺书
2014/06/03 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS
Redis唯一ID生成器的实现
2022/07/07 Redis