python名片生成二维码 无线网连接

  •  话不多说上代码
# -*- coding:utf-8 -*-
# 参考文档:
# https://blog.csdn.net/woshinia/article/details/8896444
'''
        BEGIN:VCARD\n       #名片开始
        VERSION:3.0\n       #版本3.0
        FN:%s\n             #名字
        ORG:%s\n            #公司
        TITLE:%s\n          #职位
        ADR;WORK:%s\n       #地址
        TEL;WORK:%s\n       #联系电话
        EMAIL;WORK:%s\n     #邮箱
        URL:%s\n            #个人主页
        NOTE:%s\n           #备注
        END:VCARD           #名片结束
'''

# vim: set ts=4 et sw=4 sts=4 fileencoding=utf-8 :
import time
from PIL import Image
import qrcode

'''
NOTE:这里是备注
TEL:021-39216256
'''

# input为: 姓名/职位/手机号码/邮箱@163.com/工作地址/公司名称/个人网站
data = input("请输入名片信息:")
datalist = data.split('/')
vstr = ''
N = 'ERROR'
# vCard内容
try:
    N = datalist[0]
    TITLE = datalist[1]
    TEL = datalist[2]
    ORG = datalist[5]
    ADR = datalist[4]
    EMAIL = datalist[3]
    URL = datalist[6]
    vstr = """
    BEGIN:VCARD
    VERSION:3.0
    N:{}
    TITLE:{}
    TEL;WORK:{}
    ORG:{}
    ADR;WORK:{}
    EMAIL;WORK:{}
    URL:{}
    END:VCARD
    """.format(N,TITLE,TEL,ORG,ADR,EMAIL,URL)
except:
    print('输入格式存在问题,3秒后退出')
    time.sleep(3)
    exit()


qr = qrcode.QRCode(
    version=2,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
    box_size=10,
    border=1
)
qr.add_data(vstr)
qr.make(fit=True)

img = qr.make_image()
img = img.convert("RGBA")

icon = Image.open("logo.png")

img_w, img_h = img.size
factor = 4
size_w = int(img_w / factor)
size_h = int(img_h / factor)

icon_w, icon_h = icon.size
if icon_w > size_w:
    icon_w = size_w
if icon_h > size_h:
    icon_h = size_h
icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)

w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
img.paste(icon, (w, h), icon)

img.save("test_qrcode1.png")

# qr = qrcode.QRCode(
#     # version值为1~40的整数,控制二维码的大小,(最小值是1,是个12*12的矩阵)
#     # 如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可
#     version=1,
#     # error_correction: 控制二维码的错误纠正功能,可取值下列4个常量
#     #   ERROR_CORRECT_L: 大约7%或更少的错误能被纠正
#     #   ERROR_CORRECT_M(默认): 大约15%或更少的错误能被纠正
#     #   ERROR_CORRECT_Q: 大约25%或更少的错误能被纠正
#     #   ERROR_CORRECT_H: 大约30%或更少的错误能被纠正
#     error_correction=qrcode.constants.ERROR_CORRECT_L,
#     # 控制二维码中每个小格子包含的像素数
#     box_size=1,
#     # 控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)
#     border=0,
# )
#
# # 将vCard数据填入qr
# qr.add_data(vstr)
#
# qr.make(fit=True)
#
# # 生成图片
# img = qr.make_image()
#
# # 将图片存入指定路径文件
# img.save('{}.jpeg'.format(N))

  •  生活上能用到的WiFi连接
# 生成wifi连接二维码
from segno import helpers 
qr = helpers.make_wifi(ssid="wifi名字", password="wifi密码", security="WPA/WPA2 PSK") 
qr.save("wifi.png", scale=10)

 

你可能感兴趣的:(Python)