尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Python自动化批量生成个性化二维码并嵌入模板图片

Python自动化批量生成个性化二维码并嵌入模板图片 制作活动物料之际, 是否老是处于重复生成二维码, 之后进行下载, 接着PS至模板这般的循环情形呢? 举例而言, 为50个参会者那般生成含有个人信息的二维码, 随后逐个粘贴至胸牌模板之上, 光是调整位置使其对齐便需要耗费1小时。在掌握了数据标色以及可视化以后, 我们能够去挑战更为实用的技能, 也就是运用批量生成带有个性化信息的二维码以及自动嵌入模板图片的指定位置, 进而让物料的制作既精准又高效的技能必备库安装教程bash# 生成二维码的核心库pip# 处理图片嵌入二维码需要pip # 之前处理图片可能已安装确保可用# 读取数据复用Excel处理能力pip1. 代码拆解from PIL Image,as pdos# 步骤一: 读取个性化的数据, 这些数据是从Excel当中获取的, 是需要嵌入二维码的信息。等于 “参会者信息.xlsx” , 此文件包含 “姓名” 这一列, 还包含 “编号” 这一列, 并且包含 “二维码内容” 这一列。df pd.()# 步骤2配置模板和输出等于, “胸牌模板.png”, 这是提前制作好的胸牌模板, 其中预留了二维码的位置。 个性化胸牌os.(, True)# 步骤3定义二维码生成和嵌入函数def plate(data, , , 200):# 生成二维码带logo可选qr .(1,.., # 容错率低节省空间10,2qr.(data)qr.make(fitTrue)# 打开模板图片 Image.open().(RGBA)# 嵌入二维码到指定位置是(x, y)坐标.paste(, , .(RGBA))# 步骤4批量生成个性化胸牌设定, 模板里二维码所处位置是(500, 300), 此位置要依据实际的模板去进行调整。 (500, 300)for index, row in df.():# 生成含个人信息的二维码如“张三-编号001” f{row姓名}-编号{row编号}\n{row二维码内容}# 生成带二维码的胸牌 plate(data,,# 可选在模板上添加姓名文本draw .Draw()try:# 加载中文字体需确保字体存在可替换为系统字体路径font .(.ttf, 40)draw.text((300, 200), row姓名这个句子似乎不完整且表意不明, 不太能按照要求进行改写。你可以补充完整准确的内容以便能正常改写。:print(f警告未找到字体跳过姓名添加)# 保存结果 os.path.join(, f{row姓名}_胸牌.png).save()print(f已生成{})打印, 使用格式化字符串输出, 内容为, 所有个性化胸牌生成完成, 保存的位置是, 花括号所括起来的文件夹最后有标点符号。首先, 读取Excel里的参会者信息, 接着, 运用库生成带有个人数据的二维码, 随后, 把二维码嵌入到模板图片的特定位置, 像胸牌模板的右下角, 并且, 还能够额外添加姓名文本。用代码自动对齐二维码位置, 相较于手动操作, 避免了每张图片都要手动调整, 适合在有一定代码基础之后去挑战。2. 场景应用- 场景: 准备搞展会, 要给二百位嘉宾制作胸牌, 用到其中的二维码包含着嘉宾自身的姓名以及其所属的公司, 还能自动嵌入胸牌模板里特定的固定位置, 最后生成出来的图片能直接用来进行打印, 而不用再一个一个地来进行PS。情景是这样的, 电商要制作产品标签, 从Excel里读取“产品ID”以及“价格”, 接着生成带有这些信息的二维码, 再把二维码嵌入到产品标签模板当中, 之后将其贴在商品之上, 这样扫码就能查看详情了。图书标签在图书馆制作, 二维码里面包含着“书名-索书号”, 把它嵌入到标签模板之中, 打印完成之后贴在书脊处, 以此方便读者通过扫码来查询借阅信息。3. 避坑指南二维码位置出现偏移情况, 具体表现为, 模板里预先留出的位置, 跟代码里的坐标不相符合, 这种情况下, 需要借助图片工具, 像是PS , 去查看模板像素坐标, 进而调整(x, y)值。二维码识别出现问题, 原因是内容过多致使二维码密集, 解决办法是减少其中的信息, 或者提高容错率, 然而无法识别。- 关于模板格式方面的问题: 要是模板呈现为.jpg格式, 当嵌入具有透明背景的二维码时就会出现白边, 在此建议采用.png格式的模板。- 字体加载遭遇失败状况, 在添加姓名之际出现提示称“字体并不存在”, 需要把“.ttf”字体文件放置于与代码相同的目录之下, 要么把它修改为系统已然安装字体的路径比如“。C://Fonts/.ttf”。提高办公自动化程度方面进行更为深入之作, 生成二维码, 大量制作相关物料, 在周六实现高效率之下的充分筹备。
返回列表