当前位置: 首页> 教育> 就业 > 二维码生成

二维码生成

时间:2025/7/19 1:12:14来源:https://blog.csdn.net/Kally_tao/article/details/142141269 浏览次数:0次

1、引入二维码生成库

使用一个支持二维码生成的库,如ZXing(Zebra Crossing),它提供了二维码生成的工具和API。

pom.xml文件导入ZXing依赖。

 <!-- ZXing 库依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.5.1</version></dependency>

2、实现代码

package com.new3s.asset.utils;import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;/*** 二维码生成* @author kally* @date 2024/9/11*/
public class QrCodeGenerator {public static void main(String[] args) {// 定义资产信息String assetCode = "SBXX202SN7200067"; // 资产编码String assetName = "3号楼1号电梯";      // 资产名称String assetModel = "OTIS0980";         // 资产型号String assetLocation = "电梯设备";      // 资产位置String department = "物业管理部";       // 使用部门// 将所有资产信息拼接成一个字符串String content = "资产编码:" + assetCode + "\n" +"资产名称:" + assetName + "\n" +"资产型号:" + assetModel + "\n" +"资产位置:" + assetLocation + "\n" +"使用部门:" + department;try {// 创建二维码写入器QRCodeWriter qrCodeWriter = new QRCodeWriter();// 编码内容为二维码BitMatrix bitMatrix = qrCodeWriter.encode(new String(content.getBytes("UTF-8"), "ISO-8859-1"),BarcodeFormat.QR_CODE, 200, 200);// 定义二维码图片的保存路径Path path = FileSystems.getDefault().getPath("", "qr_code.png");// 将二维码写入到文件MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);// 输出二维码保存成功的消息System.out.println("QR code generated successfully at " + path.toAbsolutePath());} catch (WriterException | IOException e) {e.printStackTrace();}}}

3、中文编码转换

如果不做编码转换,生成的二维码大数软件识别不了。备注:对于cpp版本的zxing,只需要加入iconv模块进行字符编码转换,将默认的gb2312转换到utf-8即可。
new String(content.getBytes("UTF-8"), "ISO-8859-1")

4、生成二维码(微信扫码)

关键字:二维码生成

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: