odoo 设备增加二维码 python生成二维码的一个有意思的问题

odoo 设备增加二维码 python生成二维码的一个有意思的问题

在odoo设备集成中根据客户要求,增加了一个二维码,想包含一些信息,用python的二维码库qrcode,qrcode是二维码生成的Python开源库。

代码如下:

            ewmny = '设备:' + label.name + ',状态:' + label.zhuangtai  # + ',编号:' + label.gongsibh
            if label.zhuangtai:
                ewmny = ewmny + ',状态:' + label.zhuangtai
            else:
                ewmny = ewmny + ',状态: '
            if label.gongsibh:
                ewmny = ewmny + ',编号:' + label.gongsibh

            ewm = qrcode.make(ewmny)  # 将330*330大小的二维码
            # print(ewm.size)
            ewm.thumbnail((80, 80))
            ewmf = './tempdata/wmf.png'
            ewm.save(ewmf)

生产展示后,结果用微信扫描,提示如下:

odoo 设备增加二维码 python生成二维码的一个有意思的问题_第1张图片

 

微信暂不支持展示二维码中的文本内容

记得以前可以显示的。但微信下边有行“复制文本内容",复制后粘到其它地方,还是可以看到内容的

网上说可以加张图片,便试了下,


from PIL import Image
import qrcode, os

def create_qrcode(url, qrcodename):
    qr = qrcode.QRCode(
        version=1,  # 设置容错率为最高
        error_correction=qrcode.ERROR_CORRECT_H,  # 用于控制二维码的错误纠正程度
        box_size=8,  # 控制二维码中每个格子的像素数,默认为10
        border=1,  # 二维码四周留白,包含的格子数,默认为4
    )

    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("images/ewm.png")  # 传gif生成的二维码也是没有动态效果的

    w,h = img.size
    logo_w,logo_h = logo.size
    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() + "/images/" + qrcodename + ".png", quality=100)

def main():
    url = input("请输入文本或URL:")
    qrcodename = input("请输入生成二维码的名称:")
    create_qrcode(url,qrcodename)

if __name__ == '__main__':
    main()

odoo 设备增加二维码 python生成二维码的一个有意思的问题_第2张图片

 用微信扫一下,识别不出来了

你可能感兴趣的:(odoo16,python,开发语言)