利用python生成二维码 以及批量生成二维码

常见的两种简单生成二维码方法,目测均是很好用的

1.MyQR  要求是python3 ,并且二维码上的内容不支持中文  

#1.生成普通二维码

#在程序中导入MyQR包下的模板myqr,其中word参数接收一个字符串作为二维码的内容。

from MyQR import myqr
myqr.run(words='https://www.cnblogs.com/Estate-47/p/9661543.html')

#2.生成带图片的二维码 图片要和代码保持同一路径 
myqr.run(words='https://www.cnblogs.com/Estate-47/p/9661543.html',picture='girl.jpg',colorized=True)
#此为彩色图片代码,需要黑白图片就去掉参数colorized=True。另外注意把图片和代码放在同一路径中,否则会报错找不到图片

 参考资源:

2.QRCode 

import qrcode,os
 
text = input("输入文字或URL:")
img =qrcode.make(text)
img.save(os.getcwd()+'/' + qrcodename + '.png')     #保存图片至本地目录,可以设定路径
img.show()    

参考连接

 

根据给定的信息,快速生成批量二维码

#!user/bin/python
#coding:utf-8


from PIL import Image
import qrcode,os,sys
import pandas as pd
import datetime
 
reload(sys)
sys.setdefaultencoding('utf-8')
def create_qrcode(url,qrcodename):
    qr = qrcode.QRCode(
        version=1,  # 设置容错率为最高
        error_correction=qrcode.ERROR_CORRECT_H, # 用于控制二维码的错误纠正程度
        box_size=8, # 控制二维码中每个格子的像素数,默认为10
        border=1, # 二维码四周留白,包含的格子数,默认为4
        #image_factory=None,  保存在模块根目录的image文件夹下
        #mask_pattern=None
    )
 
    qr.add_data(url) # QRCode.add_data(data)函数添加数据
    qr.make(fit=True)  # QRCode.make(fit=True)函数生成图片
 
    img = qr.make_image()
    img = img.convert("RGBA") # 二维码设为彩色
    #logo = Image.open('logo.jpg') # 传gif生成的二维码也是没有动态效果的
 
    # w , h = img.size
    # logo_w , logo_h = logo.size
    # factor = 4   # 默认logo最大设为图片的四分之一
    # s_w = int(w / factor)
    # s_h = int(h / factor)
    # if logo_w > s_w or logo_h > s_h:
    #     logo_w = s_w
    #     logo_h = s_h
 
    # logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
    # l_w = int((w - logo_w) / 2)
    # l_h = int((h - logo_h) / 2)
    # logo = logo.convert("RGBA")
    # img.paste(logo, (l_w, l_h), logo)
    #img.show()
    img.save(os.getcwd()+'/' + qrcodename + '.png', quality=100)

if __name__ == "__main__":
    df = pd.read_excel("virusinfo.xlsx",encoding='gbk')
    for i in df.index.tolist():
        #import pdb;pdb.set_trace()
        text = u"检测报告"+"\n"+u"说明:2019新型冠状病毒筛查"+"\n"+u"编号: "+df["barcode"][i]+"\n"+u"姓名: "+ \
        df["name"][i]+"\n"+ u"证件号: "+str(df["id"][i])+"\n"+u"送检单位: "+df["unit"][i]+"\n" + \
        u"结果: "+df["result"][i]+"\n"+u"检测日期: "+df["exp_data"][i].strftime("%Y-%m-%d")+"\n" + \
        u"报告日期: "+ df["reportdate"][i].strftime("%Y-%m-%d")+"\n"
       
        codename = df["name"][i]+"_"+df["barcode"][i]
        create_qrcode(text,codename)

 

你可能感兴趣的:(python)