批量生成二维码

前段时间公司有这样一个需求:由于疫情影响,单位食堂没有开放,过来参加招聘会的企业无法就餐,替代的解决方案是给他们提供附近一家餐饮店的抵用券。饭店给我提供若干个可以使用的编号,但是我们需要以二维码的形式发放下去,所以就有了这个课题。

支持批量生成二维码的库其实还蛮多的,最终选择QRCoder来做,由于只有不到半天的时间,所以一切就都从简,对我们来说是一次性的东西。下面我简单分享一下我的思路和代码,供大家参考。

批量生成二维码_第1张图片

 简单的做了一个界面,支持两种输入编码的方式,第一种直接在文本框输入,用逗号分割;第二种是用excel导入进去,列名必须为“code”。其本质就是将输入的东西转换成一个字符串数组,然后遍历数组,逐个用QRCoder生成二维码,为了支持excel导入,加入了npoi,不了解的同学自己去补一下。以下是生成二维码的代码:

批量生成二维码_第2张图片

其中最核心的方法是:qrcode.GetGraphic(10, Color.Black, Color.White, null, 15, 20, true);

这个方法有多个重载,根据你的需要选择合适的一个即可,这边这个它接收的参数分别是:

1、二维码单个像素点的大小

2、像素颜色

3、背景颜色

4、接收一个 Bitmap,用来设置二维码中间那个图标

5、图标大小百分比

6、图标边框宽度,

7、边缘留白

根据以上的介绍,我们做一点改变,重新绘制一个二维码:

qrcode.GetGraphic(20, Color.Red, Color.Black, null, 15, 20, false);

批量生成二维码_第3张图片

以上两个二维码分别对应上面出现的两次调用,可以看出其中的区别。

源码:https://github.com/Maaici/QRCodeFactory

或者直接下载工具:https://download.csdn.net/download/maaici/12283220

你可能感兴趣的:(随笔)