使用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使用PyV8执行javascript代码示例分享
Dec 04 Python
用python + openpyxl处理excel2007文档思路以及心得
Jul 14 Python
python之wxPython菜单使用详解
Sep 28 Python
Python发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
Python Grid使用和布局详解
Jun 30 Python
python使用matplotlib画饼状图
Sep 25 Python
pyqt5实现俄罗斯方块游戏
Jan 11 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 Python
Python爬虫之Selenium实现键盘事件
Dec 04 Python
教你用python控制安卓手机
May 13 Python
PyTorch 如何自动计算梯度
May 23 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 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
php页面跳转代码 输入网址跳转到你定义的页面
2013/03/28 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
js 颜色选择插件
2017/01/23 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
Puppeteer环境搭建的详细步骤
2018/09/21 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
python下载文件时显示下载进度的方法
2015/04/02 Python
Python随手笔记之标准类型内建函数
2015/12/02 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
德国汽车零件和汽车配件网上商店:kfzteile24
2018/11/14 全球购物
Viking Direct荷兰:购买办公用品
2019/06/20 全球购物
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
大一学生假期实习的自我评价
2013/10/12 职场文书
施工安全责任书
2014/04/14 职场文书
小英雄雨来观后感
2015/06/09 职场文书
劳动模范获奖感言
2015/07/31 职场文书
python基础之匿名函数详解
2021/04/21 Python
一文搞懂python异常处理、模块与包
2021/06/26 Python
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js