使用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简单实现刷新智联简历
Mar 30 Python
使用python遍历指定城市的一周气温
Mar 31 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 Python
python 自动批量打开网页的示例
Feb 21 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
Jan 08 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
Jan 16 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
Feb 26 Python
Python matplotlib实时画图案例
Apr 23 Python
Django rest framework分页接口实现原理解析
Aug 21 Python
使用Python操作MySQL的小技巧
Sep 10 Python
python爬不同图片分别保存在不同文件夹中的实现
Apr 02 Python
python利用while求100内的整数和方式
Nov 07 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
新52大事件
2020/03/03 欧美动漫
php header功能的使用
2013/10/28 PHP
php中JSON的使用与转换
2015/01/14 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
js直接编辑当前cookie的脚本
2008/09/14 Javascript
JS实现程序暂停与继续功能代码解读
2013/10/10 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
python求众数问题实例
2014/09/26 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
Python实现的递归神经网络简单示例
2017/08/11 Python
python脚本实现验证码识别
2018/06/07 Python
Python图像处理之简单画板实现方法示例
2018/08/30 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
python使用opencv实现马赛克效果示例
2019/09/28 Python
python 循环数据赋值实例
2019/12/02 Python
html5 touch事件实现页面上下滑动效果【附代码】
2016/03/10 HTML / CSS
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
刑事代理授权委托书
2014/09/17 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
经验交流材料格式
2014/12/30 职场文书
亮剑观后感300字
2015/06/05 职场文书
小爸爸观后感
2015/06/15 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
python实现进度条的多种实现
2021/04/29 Python
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA