使用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判断、获取一张图片主色调的2个实例
Apr 10 Python
编写Python小程序来统计测试脚本的关键字
Mar 12 Python
Python中getattr函数和hasattr函数作用详解
Jun 14 Python
Python使用matplotlib填充图形指定区域代码示例
Jan 16 Python
对python中if语句的真假判断实例详解
Feb 18 Python
Python自定义一个异常类的方法
Jun 27 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
Jan 10 Python
使用Python和百度语音识别生成视频字幕的实现
Apr 09 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
Jun 03 Python
Python 的 f-string 可以连接字符串与数字的原因解析
Feb 20 Python
numpy实现RNN原理实现
Mar 02 Python
python pandas 解析(读取、写入)CSV 文件的操作方法
Dec 24 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_MySQL教程-第一天
2007/03/18 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
2013/06/05 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
js字符串截取函数substr substring slice使用对比
2013/11/27 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
checkbox在vue中的用法小结
2018/11/13 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
2020/11/06 Javascript
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
Python的类实例属性访问规则探讨
2015/01/30 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
Python批量转换文件编码格式
2015/05/17 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
一步步教你用python的scrapy编写一个爬虫
2019/04/17 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
Shopee印度尼西亚:东南亚与台湾市场最大电商平台
2018/06/17 全球购物
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
大学自荐信
2013/12/12 职场文书
给交警的表扬信
2014/01/12 职场文书
美德好少年主要事迹
2014/01/29 职场文书
医药个人求职信范文
2014/01/29 职场文书
消防安全责任书
2014/04/14 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书