使用python调用zxing库生成二维码图片详解
发布时间 - 2026-01-10 22:26:09 点击率:次(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) 运行
运行程序得到的图片如下,可以使用二维码扫描工具得到二维码里面保存的信息
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在不使用负向后查找的情况下匹配特定条件前的换行符
浅谈Javascript中的Label语句
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
在Oracle关闭情况下如何修改spfile的参数
香港网站服务器数量如何影响SEO优化效果?
如何在万网利用已有域名快速建站?
Android Socket接口实现即时通讯实例代码
英语简历制作免费网站推荐,如何将简历翻译成英文?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
JavaScript如何实现错误处理_try...catch如何捕获异常?
如何在IIS中新建站点并配置端口与物理路径?
韩国服务器如何优化跨境访问实现高效连接?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
Laravel怎么判断请求类型_Laravel Request isMethod用法
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
详解Android中Activity的四大启动模式实验简述
高性能网站服务器部署指南:稳定运行与安全配置优化方案
郑州企业网站制作公司,郑州招聘网站有哪些?
Android GridView 滑动条设置一直显示状态(推荐)
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
什么是javascript作用域_全局和局部作用域有什么区别?
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
如何快速搭建高效WAP手机网站吸引移动用户?
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
香港服务器如何优化才能显著提升网站加载速度?
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
nodejs redis 发布订阅机制封装实现方法及实例代码
详解Android图表 MPAndroidChart折线图
动图在线制作网站有哪些,滑动动图图集怎么做?
Laravel如何创建自定义Artisan命令?(代码示例)
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Python制作简易注册登录系统
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
Laravel如何处理文件下载请求?(Response示例)
高端云建站费用究竟需要多少预算?
黑客如何通过漏洞一步步攻陷网站服务器?
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
使用C语言编写圣诞表白程序
Laravel如何保护应用免受CSRF攻击?(原理和示例)
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
大学网站设计制作软件有哪些,如何将网站制作成自己app?
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
北京专业网站制作设计师招聘,北京白云观官方网站?
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
Linux系统命令中tree命令详解

