首页 > 编程语言 >python 批量打印证书(保存未调试)

python 批量打印证书(保存未调试)

时间:2023-04-16 09:11:44浏览次数:41  
标签:draw 批量 python text newfont black font 调试 fill

import os
from PIL import Image,ImageDraw,ImageFont
import xlrd

# 要求录入学校信息的证书def zs_school(size, left, height, n, c, m1, d1, m2, d2, t):
    newfont = ImageFont.truetype(font="Songti.ttc", size=size)
    draw.text((600,height),n, font = newfont, fill= "black")
    draw.text((left,1700),c, font = newfont, fill= "black")
    draw.text((1750,1700),m1, font = newfont, fill= "black")
    draw.text((1900,1700),d1, font = newfont, fill= "black")
    draw.text((300,1850),m2, font = newfont, fill= "black")
    draw.text((550,1850),d2, font = newfont, fill= "black")
    draw.text((520,2150),t, font = newfont, fill= "black")
    # old_img.show()    #运行显示
    old_img.save(str(int(l))+n+".png")

# 不要求录入学校信息的证书def zs(n, m1, d1, m2, d2, t):# 设置图片文字,字体类型,以及字体大小,颜色
    newfont=ImageFont.truetype('Songti.ttc',100)
    draw.text((600,1380),n, font = newfont, fill= "black")
    draw.text((700,1700),m1, font = newfont, fill= "black")
    draw.text((850,1700),d1, font = newfont, fill= "black")
    draw.text((1170,1700),m2, font = newfont, fill= "black")
    draw.text((1380,1700),d2, font = newfont, fill= "black")
    draw.text((1400,2000),t, font = newfont, fill= "black")
    # old_img.show()    #运行显示
    old_img.save(str(int(l))+n+".png")

# 导入 Excel 文件
data = xlrd.open_workbook('/Users/wangj676/Desktop/table1.xlsx')
table = data.sheet_by_index(0)
# 给各列表变量赋值
list =  table.col_values(0)[0:]
name = table.col_values(1)[0:]
school = table.col_values(4)[0:]
time = table.col_values(10)[0:]
month1 = table.col_values(11)[0:]
month2 = table.col_values(12)[0:]
day1 = table.col_values(13)[0:]
day2 = table.col_values(14)[0:]

os.chdir("/Users/wangj676/Desktop/pics")
# 循环生成新图片for i in range(0,113):
    l = list[i]
    n = name[i]
    s = school[i]
    m1 = str(int(month1[i]))
    m2 = str(int(month2[i]))
    d1 = str(int(day1[i]))
    d2 = str(int(day2[i]))
    t = str(int(time[i]))
    c=str(s)+" "+str(n) # 学校+“空格”+姓名# 判断是否要求录入学校信息:是if school[i]!="":
        old_img = Image.open("/Users/wangj676/Desktop/lxh.png")
        draw = ImageDraw.Draw(old_img)
        # 判断字符长度,以便设置字体大小和左边距if len(c)>=10:
            # 设置位置
            length=len(c)
            left=600-22*length
            height = 1400
            size = 80# 调用 zs_school() 函数
            zs_school(size, left, height, n, c, m1, d1, m2, d2, t)
        else:
            # 设置位置
            length=len(c)
            left=600-18*length
            height = 1380
            size = 100# 调用 zs_school() 函数
            zs_school(size, left, height, n, c, m1, d1, m2, d2, t)

    # 判断是否要求录入学校信息:否if school[i]=="":
        old_img = Image.open("/Users/wangj676/Desktop/lxh0.png")
        draw = ImageDraw.Draw(old_img)
        # 调用 zs() 函数
        zs(n, c, m1, d1, m2, d2, t)

 

标签:draw,批量,python,text,newfont,black,font,调试,fill
From: https://www.cnblogs.com/xkdn/p/17322530.html

相关文章

  • 全排列--Python实现
    给定一个不含重复数字的数组nums,返回其所有可能的全排列。defpermute(nums):track,self.res=[],[]self.backtrack(nums,track)returnself.res#路径:记录在track中#选择列表:nums中不存在于track的那些元素#结束条件:nums中的......
  • Python 人工智能:6~10
    原文:ArtificialIntelligencewithPython协议:CCBY-NC-SA4.0译者:飞龙本文来自【ApacheCN深度学习译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。不要担心自己的形象,只关心如何实现目标。——《原则》,生活原则2.3.c6集成学习的预测分析在本章中,我们将学习集成学习......
  • Python 人工智能:21~23
    原文:ArtificialIntelligencewithPython协议:CCBY-NC-SA4.0译者:飞龙本文来自【ApacheCN深度学习译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。不要担心自己的形象,只关心如何实现目标。——《原则》,生活原则2.3.c21循环神经网络和其他深度学习模型在本章中,我们将......
  • Python 迁移学习实用指南:6~11
    原文:Hands-OnTransferLearningwithPython协议:CCBY-NC-SA4.0译者:飞龙本文来自【ApacheCN深度学习译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。不要担心自己的形象,只关心如何实现目标。——《原则》,生活原则2.3.c六、图像识别与分类知识投资永远是最大的利益。......
  • Python模块-requests
    1、requests模块requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。2、模块介绍及请求过程requests模块模拟浏览器发送请求请求流程:指定url-->发起请求-->获取响应对象中存储的数据-->持久化存储3、爬取百度首页#!......
  • Python模块-socket
    1、基于TCP协议的socket通信以打电话为理解方式进行TCP的通信#Server端importsocketphone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#购买电话卡,AF_INET服务器之间网络通信,socket.SOCK_STREAM,流式协议,就是TCP协议phone.bind(('127.0.0.1',8080))......
  • 部署Python3
    1、安装编译工具yum-ygroupinstall"Developmenttools"yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-develyuminstalllibffi-devel2、下载软件包并解压wgethttps://ww......
  • eclpise断点调试Java代码
    Eclipse支持对Java代码进行Debug也就是在执行代码时暂停执行并可以观察相关的信息,比如栈中的变量,堆中的变量,执行的代码,方法调用栈等,这个暂停的位置就是断点一个简单的工程如果需要观察getMax方法的执行,可以在代码编辑器左边缘双击,增加断点,或者右键ToggleBre......
  • Python虚拟环境下使用Pyinstaller打包
    PyInstaller ,他是一款帮助我们把整个项目完整打包的工具。目前已经兼容Py3.7,以及MacApp和WindowsExe由于在进行Pyinstaller打包时,会一同将Pyinstaller所在环境里所有的package一起打进去,这就导致了非常多曾经下载过的,但是在这个项目中没用到的package,也会成为程序的一部分,......
  • Python实现字符串模糊匹配
      在一个字符串中,有时需对其中某些内容进行模糊匹配以实现条件的判定,如在“你好,hello,world”中判断是否含有“llo”。Python中通过re.search()方法实现,特别地,对于首位起始的内容匹配,也可通过re.match()方法实现。若匹配成功,它们返回一个re.Match对象;若匹配失败,返回None。re.s......