01 模板制作
打开模板
利用 Acrobat 软件直接打开设计的 AI 文档, 然后另存为 PDF 文件。 再次另存为 PNG 文件。 但是, 实际上将该文件打开的时候始终与源文件存在着视图色差, 具体原因不详。
▲ 图1.1 模板图片
最后, 还是直接通过屏幕截屏,最终获得一张 BMP 证书模板
不同组别打印程序
大疆智慧仓储
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# FINALPRINT.PY -- by Dr. ZhuoQing 2021-08-26
#
# Note:
#============================================================
from head import *
import cert
import shutil
import openpyxl
#------------------------------------------------------------
group = '大疆智慧仓储'
division = '全国总决赛'
cert.printcount = 110
#scorefile = r'H:\SmartCar\2023\CertPrint\DOP\大疆仓储\大疆天途智能仓储赛项总成绩.xlsx'
scorefile = r'H:\SmartCar\2023\CertPrint\DOP\大疆仓储\大疆天途智能仓储赛项总成绩(1).xlsx'
wb = openpyxl.load_workbook(scorefile, data_only=True)
ws = wb.get_sheet_by_name("职教组")
corders = "零一二三四五六七八九十"
#------------------------------------------------------------
outdir = r'd:\temp\CERTIFCATION'
picdirdef = outdir
if not os.path.isdir(picdirdef):
os.mkdir(picdirdef)
else:
shutil.rmtree(picdirdef)
os.mkdir(picdirdef)
#------------------------------------------------------------
univ = ''
team = ''
award = ''
tstr = ''
sstr = ''
orderN = 0
mentors = []
students = []
flag = 1
#------------------------------------------------------------
for id,a in enumerate(ws):
astr = [str(aa.value) for aa in a]
if astr[0].isdigit():
if len(univ) > 0:
university = univ
if orderN <= 3:
order = '第%s名'%corders[orderN]
else: order = ''
printff(id,university, team, mentors, students, award, order)
if flag > 0:
cert.printcert(university,
team,
group,
award,
order,
students,
mentors,
division,
picdir = picdirdef)
orderN = int(astr[0])
mentors = []
students = []
award = astr[5]
univ = astr[1].replace('\n','').replace('\r','')
team = astr[2].replace(' ', '_')
student = astr[3]
name = astr[4]
if student.find('指导') >= 0:
mentors.append(name)
elif student.find('学生') >= 0:
students.append(name)
#------------------------------------------------------------
university = univ
if orderN <= 3:
order = '第%s名'%corders[orderN]
else: order = ''
printff(id,university, team, mentors, students, award, order)
if flag > 0:
cert.printcert(university,
team,
group,
award,
order,
students,
mentors,
division,
picdir = picdirdef)
#------------------------------------------------------------
#------------------------------------------------------------
printf('\a')
#------------------------------------------------------------
# END OF FILE : FINALPRINT.PY
#============================================================
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CERT.PY -- by Dr. ZhuoQing 2021-08-25
#
# Note:
#============================================================
from head import *
#------------------------------------------------------------
studentc = [27, 4, 3, 11, 19] # template, text, award, order, sn
snhead = '○ NCSC2023-09'
text_width = 40
#------------------------------------------------------------
testid = 16
#------------------------------------------------------------
groupdict = {
'负压电磁':'01', '专科电磁':'02', '摄像头':'03',
'电能接力':'04', '独轮车':'05', '智能视觉':'06',
'完全模型':'07', '极速越野':'08', '单车越野':'09',
'声音信标':10, '百度智慧交通':11,
'讯飞智慧农业':12, '大疆智慧仓储':13,
'航天智慧物流':14, 'MicroPython工程挑战赛':15,
'高中':16, '初中':17, '小学':18,
'特邀表演':19}
awarddict = {
'一等奖':1, '二等奖':2, '三等奖':3, '优胜奖':4, '专项奖':5, '挑战赛':6}
def printjpg(cid, filename):
tspsaveimagerange(cid, filename,0, 50)
printff(cid, filename)
#------------------------------------------------------------
def getsnstr(group, award, num):
printff(group, award, num)
return '%s-%s-%d%03d'%(snhead, groupdict[group], awarddict[award], num)
#------------------------------------------------------------
def boldheitifont(s):
rets = ''
for c in s:
rets = rets + '\h\*%s\.'%c
return rets
def boldfont(s):
rets = ''
for c in s:
rets = rets + '\*%s\.'%c
return rets
def settextwidth(s, width):
rets = ''
count = 0
for id,c in enumerate(s):
if c in '\\ . * h'.split():
rets = rets + c
if c == '.':
if count >= width - 1:
count -= (width - 1)
rets += '\r\n'
continue
if ord(c) < 127: count += 1
else: count += 2
appendcount = 0
if s[id:id+4] == '2022':
if count+3 >= width:
rets += '\r\n'
count = 0
rets = rets + c
if count+appendcount >= width:
count -= width
rets += '\r\n'
return rets
#------------------------------------------------------------
def setstudenttext(tid, university, student, group, division):
global text_width
university = boldheitifont(university)
student = boldheitifont(student)
group = boldfont(group)
setstr = '%s %s 同学在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, student, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setmentortext(tid, university, mentor, team, group, division):
global text_width
university = boldheitifont(university)
mentor = boldheitifont(mentor)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s 教师指导%s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, mentor, team, division, group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setteamtext(tid, university, team, group, division):
global text_width
university = boldheitifont(university)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, team, division, group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setawardstr(awardstr):
tspsettext(studentc[2], awardstr)
def setorderstr(orderstr):
if len(orderstr) > 2:
orderstr = '(%s)'%orderstr
else: orderstr = ' '
printf(orderstr)
tspsettext(studentc[3], orderstr)
#------------------------------------------------------------
printcount = 0
def printcert(university, team, group, award, order, students,
mentors, division = '全国总决赛', picdir=r'd:\temp'):
global printcount
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
#--------------------------------------------------------
if len(order) < 2: order = ''
team = team.replace('"', '')
setawardstr(award)
setorderstr(order)
setteamtext(studentc[1], university, team, group, division)
tsprv()
outfn = os.path.join(picdir, '%s_%s_%s.jpg'%(university, team, group))
printjpg(studentc[0], outfn)
for s in students:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setstudenttext(studentc[1], university, s, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
for s in mentors:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setmentortext(studentc[1], university, s, team, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
#------------------------------------------------------------
if __name__ == "__main__":
outdir = r'd:\temp\CERTIFCATION'
if not os.path.isdir(outdir):
os.mkdir(outdir)
sstr = ['银杏', '红桃']
mstr = ['金鱼', '银鱼']
printcert('大红枣大学', '风火轮四轮', '讯飞智慧农业', '一等奖', '第一名', sstr, mstr, picdir=outdir)
printf('\a')
#------------------------------------------------------------
# END OF FILE : CERT.PY
#============================================================
工程挑战赛
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# FINALPRINT.PY -- by Dr. ZhuoQing 2021-08-26
#
# Note:
#============================================================
from head import *
import cert
import shutil
import openpyxl
#------------------------------------------------------------
group = 'MicroPython 编程车模现场挑战赛'
division = '全国总决赛'
cert.printcount = 110
scorefile = r'H:\SmartCar\2023\CertPrint\DOP\工程挑战赛\MicroPython现场挑战赛成绩单.xlsx'
wb = openpyxl.load_workbook(scorefile, data_only=True)
ws = wb.get_sheet_by_name("Sheet1")
corders = "零一二三四五六七八九十"
#------------------------------------------------------------
outdir = r'd:\temp\CERTIFCATION'
picdirdef = outdir
if not os.path.isdir(picdirdef):
os.mkdir(picdirdef)
else:
shutil.rmtree(picdirdef)
os.mkdir(picdirdef)
#------------------------------------------------------------
for id,a in enumerate(ws):
astr = [str(aa.value) for aa in a]
# printf(astr)
if not astr[0].isdigit(): continue
university = astr[2]
team = astr[3]
mentors = [s for s in astr[5].split() if len(s) >= 2 and s != 'None']
students = [s for s in astr[4].split() if len(s) >= 2 and s != 'None']
N = int(astr[0])
award = '团体第%s名'%(corders[N])
order = ''
printff(id,university, team, mentors, students, award, order)
# continue
cert.printcert(university,
team,
group,
award,
order,
students,
mentors,
division,
picdir = picdirdef)
printf('\a')
# break
#------------------------------------------------------------
printf('\a')
#------------------------------------------------------------
# END OF FILE : FINALPRINT.PY
#============================================================
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CERT.PY -- by Dr. ZhuoQing 2021-08-25
#
# Note:
#============================================================
from head import *
#------------------------------------------------------------
studentc = [27, 4, 3, 11, 19] # template, text, award, order, sn
snhead = '○ NCSC2023-09'
text_width = 40
#------------------------------------------------------------
testid = 16
#------------------------------------------------------------
groupdict = {
'负压电磁':'01', '专科电磁':'02', '摄像头':'03',
'电能接力':'04', '独轮车':'05', '智能视觉':'06',
'完全模型':'07', '极速越野':'08', '单车越野':'09',
'声音信标':10, '百度智慧交通':11,
'讯飞智慧农业':12, '大疆智慧物流':13,
'航天智慧物流':14, 'MicroPython工程挑战赛':15,
'高中':16, '初中':17, '小学':18,
'特邀表演':19, '智能巡线竞速':20, '机械大师拼装':21}
awarddict = {
'一等奖':1, '二等奖':2, '三等奖':3, '优胜奖':4, '专项奖':5, '挑战赛':6}
def printjpg(cid, filename):
tspsaveimagerange(cid, filename,0, 50)
printff(cid, filename)
#------------------------------------------------------------
def getsnstr(group, award, num):
printff(group, award, num)
return '%s-%s-%d%03d'%(snhead, 0, 111, num)
#------------------------------------------------------------
def boldheitifont(s):
rets = ''
for c in s:
rets = rets + '\h\*%s\.'%c
return rets
def boldfont(s):
rets = ''
for c in s:
rets = rets + '\*%s\.'%c
return rets
def settextwidth(s, width):
rets = ''
count = 0
for id,c in enumerate(s):
if c in '\\ . * h'.split():
rets = rets + c
if c == '.':
if count >= width - 1:
count -= (width - 1)
rets += '\r\n'
continue
if ord(c) < 127: count += 1
else: count += 2
appendcount = 0
if s[id:id+4] == '2022':
if count+3 >= width:
rets += '\r\n'
count = 0
rets = rets + c
if count+appendcount >= width:
count -= width
rets += '\r\n'
return rets
#------------------------------------------------------------
def setstudenttext(tid, university, student, group, division):
global text_width
university = boldheitifont(university)
student = boldheitifont(student)
group = boldfont(group)
setstr = '%s %s 同学在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, student, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setmentortext(tid, university, mentor, team, group, division):
global text_width
university = boldheitifont(university)
mentor = boldheitifont(mentor)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s 教师指导%s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, mentor, team, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setteamtext(tid, university, team, group, division):
global text_width
university = boldheitifont(university)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, team, division, group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setawardstr(awardstr):
tspsettext(studentc[2], awardstr)
def setorderstr(orderstr):
if len(orderstr) > 2:
orderstr = '(%s)'%orderstr
else: orderstr = ' '
printf(orderstr)
tspsettext(studentc[3], orderstr)
#------------------------------------------------------------
printcount = 0
def printcert(university, team, group, award, order, students,
mentors, division = '全国总决赛', picdir=r'd:\temp'):
global printcount
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
if len(order) < 2: order = ''
team = team.replace('"', '')
setawardstr(award)
setorderstr(order)
setteamtext(studentc[1], university, team, group, division)
tsprv()
outfn = os.path.join(picdir, '%s_%s_%s.jpg'%(university, team, group))
printjpg(studentc[0], outfn)
for s in students:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setstudenttext(studentc[1], university, s, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
for s in mentors:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setmentortext(studentc[1], university, s, team, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
#------------------------------------------------------------
if __name__ == "__main__":
outdir = r'd:\temp\CERTIFCATION'
if not os.path.isdir(outdir):
os.mkdir(outdir)
sstr = ['银杏', '红桃']
mstr = ['金鱼', '银鱼']
printcert('大红枣大学', '风火轮四轮', '讯飞智慧农业', '一等奖', '第一名', sstr, mstr, picdir=outdir)
printf('\a')
#------------------------------------------------------------
# END OF FILE : CERT.PY
#============================================================
航天三院
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# FINALPRINT.PY -- by Dr. ZhuoQing 2021-08-26
#
# Note:
#============================================================
from head import *
import cert
import shutil
import openpyxl
#------------------------------------------------------------
group = '航天智慧物流'
division = '全国总决赛'
cert.printcount = 110
scorefile = r'H:\SmartCar\2023\CertPrint\DOP\航天三院\获奖信息-航天组20230825.xlsx'
wb = openpyxl.load_workbook(scorefile, data_only=True)
ws = wb.get_sheet_by_name("Sheet1")
corders = "零一二三四五六七八九十"
#------------------------------------------------------------
outdir = r'd:\temp\CERTIFCATION'
picdirdef = outdir
if not os.path.isdir(picdirdef):
os.mkdir(picdirdef)
else:
shutil.rmtree(picdirdef)
os.mkdir(picdirdef)
flag = 1
#------------------------------------------------------------
for id,a in enumerate(ws):
astr = [str(aa.value) for aa in a]
if not astr[0].isdigit(): continue
university = astr[1]
team = astr[2]
mentors = [s for s in astr[8:10] if len(s) >= 2 and s != 'None']
students = [s for s in astr[3:8] if len(s) >= 2 and s != 'None']
#--------------------------------------------------------
award = astr[11]
if award.find('赛') > 0:
aa = award.split('赛')
division = aa[0]+'赛'
award = aa[1]
else:
award = ''
order = ''
printff(id,university, team, mentors, students, award, order, division)
if flag > 0 and len(award) > 0:
cert.printcert(university,
team,
group,
award,
order,
students,
mentors,
division,
picdir = picdirdef)
#--------------------------------------------------------
printf('\a')
# break
#------------------------------------------------------------
printf('\a')
#------------------------------------------------------------
# END OF FILE : FINALPRINT.PY
#============================================================
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CERT.PY -- by Dr. ZhuoQing 2021-08-25
#
# Note:
#============================================================
from head import *
#------------------------------------------------------------
studentc = [27, 4, 3, 11, 19] # template, text, award, order, sn
snhead = '○ NCSC2023-09'
text_width = 40
#------------------------------------------------------------
testid = 16
#------------------------------------------------------------
groupdict = {
'负压电磁':'01', '专科电磁':'02', '摄像头':'03',
'电能接力':'04', '独轮车':'05', '智能视觉':'06',
'完全模型':'07', '极速越野':'08', '单车越野':'09',
'声音信标':10, '百度智慧交通':11,
'讯飞智慧农业':12, '大疆智慧物流':13,
'航天智慧物流':14, 'MicroPython工程挑战赛':15,
'高中':16, '初中':17, '小学':18,
'特邀表演':19}
awarddict = {
'一等奖':1, '二等奖':2, '三等奖':3, '优胜奖':4, '专项奖':5, '挑战赛':6}
def printjpg(cid, filename):
tspsaveimagerange(cid, filename,0, 50)
printff(cid, filename)
#------------------------------------------------------------
def getsnstr(group, award, num):
printff(group, award, num)
return '%s-%s-%d%03d'%(snhead, groupdict[group], 0, num)
#------------------------------------------------------------
def boldheitifont(s):
rets = ''
for c in s:
rets = rets + '\h\*%s\.'%c
return rets
def boldfont(s):
rets = ''
for c in s:
rets = rets + '\*%s\.'%c
return rets
def settextwidth(s, width):
rets = ''
count = 0
for id,c in enumerate(s):
if c in '\\ . * h'.split():
rets = rets + c
if c == '.':
if count >= width - 1:
count -= (width - 1)
rets += '\r\n'
continue
if ord(c) < 127: count += 1
else: count += 2
appendcount = 0
if s[id:id+4] == '2022':
if count+3 >= width:
rets += '\r\n'
count = 0
rets = rets + c
if count+appendcount >= width:
count -= width
rets += '\r\n'
return rets
#------------------------------------------------------------
def setstudenttext(tid, university, student, group, division):
global text_width
university = boldheitifont(university)
student = boldheitifont(student)
group = boldfont(group)
setstr = '%s %s 同学在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, student, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setmentortext(tid, university, mentor, team, group, division):
global text_width
university = boldheitifont(university)
mentor = boldheitifont(mentor)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s 教师指导%s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, mentor, team, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setteamtext(tid, university, team, group, division):
global text_width
university = boldheitifont(university)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, team, division, group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setawardstr(awardstr):
tspsettext(studentc[2], awardstr)
def setorderstr(orderstr):
if len(orderstr) > 2:
orderstr = '(%s)'%orderstr
else: orderstr = ' '
printf(orderstr)
tspsettext(studentc[3], orderstr)
#------------------------------------------------------------
printcount = 0
def printcert(university, team, group, award, order, students,
mentors, division = '全国总决赛', picdir=r'd:\temp'):
global printcount
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
if len(order) < 2: order = ''
team = team.replace('"', '')
setawardstr(award)
setorderstr(order)
setteamtext(studentc[1], university, team, group, division)
tsprv()
outfn = os.path.join(picdir, '%s_%s_%s.jpg'%(university, team, group))
printjpg(studentc[0], outfn)
for s in students:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setstudenttext(studentc[1], university, s, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
for s in mentors:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setmentortext(studentc[1], university, s, team, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
#------------------------------------------------------------
if __name__ == "__main__":
outdir = r'd:\temp\CERTIFCATION'
if not os.path.isdir(outdir):
os.mkdir(outdir)
sstr = ['银杏', '红桃']
mstr = ['金鱼', '银鱼']
printcert('大红枣大学', '风火轮四轮', '讯飞智慧农业', '一等奖', '第一名', sstr, mstr, picdir=outdir)
printf('\a')
#------------------------------------------------------------
# END OF FILE : CERT.PY
#============================================================
科大讯飞
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# FINALPRINT.PY -- by Dr. ZhuoQing 2021-08-26
#
# Note:
#============================================================
from head import *
import cert
import shutil
import openpyxl
#------------------------------------------------------------
group = '讯飞智慧农业'
division = '全国总决赛'
cert.printcount = 110
scorefile = r'H:\SmartCar\2023\CertPrint\DOP\科大讯飞\【国赛获奖汇总版】第十八届全国大学生智能汽车竞赛-讯飞创意组.xlsx'
wb = openpyxl.load_workbook(scorefile, data_only=True)
ws = wb.get_sheet_by_name("职业院校组别")
corders = "零一二三四五六七八九十"
#------------------------------------------------------------
outdir = r'd:\temp\CERTIFCATION'
picdirdef = outdir
if not os.path.isdir(picdirdef):
os.mkdir(picdirdef)
else:
shutil.rmtree(picdirdef)
os.mkdir(picdirdef)
#------------------------------------------------------------
for id,a in enumerate(ws):
astr = [str(aa.value) for aa in a]
# printf(astr)
if not astr[0].isdigit(): continue
university = astr[3]
team = astr[4]
mentors = [s for s in astr[5:7] if len(s) >= 2]
students = [s for s in astr[7:12] if len(s) >= 2]
award = astr[2]
N = int(astr[0])
if N >= 0 and N <= 3:
order = '第%s名'%corders[N]
else: order = ''
printff(id,university, team, mentors, students, award, order)
# continue
cert.printcert(university,
team,
group,
award,
order,
students,
mentors,
division,
picdir = picdirdef)
printf('\a')
# break
#------------------------------------------------------------
printf('\a')
#------------------------------------------------------------
# END OF FILE : FINALPRINT.PY
#============================================================
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CERT.PY -- by Dr. ZhuoQing 2021-08-25
#
# Note:
#============================================================
from head import *
#------------------------------------------------------------
studentc = [27, 4, 3, 11, 19] # template, text, award, order, sn
snhead = '○ NCSC2023-09'
text_width = 40
#------------------------------------------------------------
testid = 16
#------------------------------------------------------------
groupdict = {
'负压电磁':'01', '专科电磁':'02', '摄像头':'03',
'电能接力':'04', '独轮车':'05', '智能视觉':'06',
'完全模型':'07', '极速越野':'08', '单车越野':'09',
'声音信标':10, '百度智慧交通':11,
'讯飞智慧农业':12, '大疆智慧物流':13,
'航天智慧物流':14, 'MicroPython工程挑战赛':15,
'高中':16, '初中':17, '小学':18,
'特邀表演':19}
awarddict = {
'一等奖':1, '二等奖':2, '三等奖':3, '优胜奖':4, '专项奖':5, '挑战赛':6}
def printjpg(cid, filename):
tspsaveimagerange(cid, filename,0, 50)
printff(cid, filename)
#------------------------------------------------------------
def getsnstr(group, award, num):
printff(group, award, num)
return '%s-%s-%d%03d'%(snhead, groupdict[group], awarddict[award], num)
#------------------------------------------------------------
def boldheitifont(s):
rets = ''
for c in s:
rets = rets + '\h\*%s\.'%c
return rets
def boldfont(s):
rets = ''
for c in s:
rets = rets + '\*%s\.'%c
return rets
def settextwidth(s, width):
rets = ''
count = 0
for id,c in enumerate(s):
if c in '\\ . * h'.split():
rets = rets + c
if c == '.':
if count >= width - 1:
count -= (width - 1)
rets += '\r\n'
continue
if ord(c) < 127: count += 1
else: count += 2
appendcount = 0
if s[id:id+4] == '2022':
if count+3 >= width:
rets += '\r\n'
count = 0
rets = rets + c
if count+appendcount >= width:
count -= width
rets += '\r\n'
return rets
#------------------------------------------------------------
def setstudenttext(tid, university, student, group, division):
global text_width
university = boldheitifont(university)
student = boldheitifont(student)
group = boldfont(group)
setstr = '%s %s 同学在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, student, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setmentortext(tid, university, mentor, team, group, division):
global text_width
university = boldheitifont(university)
mentor = boldheitifont(mentor)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s 教师指导%s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, mentor, team, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setteamtext(tid, university, team, group, division):
global text_width
university = boldheitifont(university)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, team, division, group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setawardstr(awardstr):
tspsettext(studentc[2], awardstr)
def setorderstr(orderstr):
if len(orderstr) > 2:
orderstr = '(%s)'%orderstr
else: orderstr = ' '
printf(orderstr)
tspsettext(studentc[3], orderstr)
#------------------------------------------------------------
printcount = 0
def printcert(university, team, group, award, order, students,
mentors, division = '全国总决赛', picdir=r'd:\temp'):
global printcount
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
if len(order) < 2: order = ''
team = team.replace('"', '')
setawardstr(award)
setorderstr(order)
setteamtext(studentc[1], university, team, group, division)
tsprv()
outfn = os.path.join(picdir, '%s_%s_%s.jpg'%(university, team, group))
printjpg(studentc[0], outfn)
for s in students:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setstudenttext(studentc[1], university, s, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
for s in mentors:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setmentortext(studentc[1], university, s, team, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
#------------------------------------------------------------
if __name__ == "__main__":
outdir = r'd:\temp\CERTIFCATION'
if not os.path.isdir(outdir):
os.mkdir(outdir)
sstr = ['银杏', '红桃']
mstr = ['金鱼', '银鱼']
printcert('大红枣大学', '风火轮四轮', '讯飞智慧农业', '一等奖', '第一名', sstr, mstr, picdir=outdir)
printf('\a')
#------------------------------------------------------------
# END OF FILE : CERT.PY
#============================================================
特邀表演
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# FINALPRINT.PY -- by Dr. ZhuoQing 2021-08-26
#
# Note:
#============================================================
from head import *
import cert
import shutil
import openpyxl
#------------------------------------------------------------
group = '特邀表演'
division = '全国总决赛'
cert.printcount = 110
corders = "零一二三四五六七八九十"
#------------------------------------------------------------
strid = 28
strall = tspgetdopstring(strid).split('\r\n')
#------------------------------------------------------------
outdir = r'd:\temp\CERTIFCATION'
picdirdef = outdir
if not os.path.isdir(picdirdef):
os.mkdir(picdirdef)
else:
shutil.rmtree(picdirdef)
os.mkdir(picdirdef)
#------------------------------------------------------------
for id,s in enumerate(zip(strall[0::2], strall[1::2])):
ss = s[0].split('组')
group = ss[0]
award = ss[1]
ss = s[1].split('\t')
university = ss[1]
team = ss[2]
sss = ss[3].replace(',', ' ').replace(',', ' ')
sdim = sss.split(' ')
students = [ssss for ssss in sdim if len(ssss.replace(' ', '')) > 0]
sss = ss[4].replace(',', ' ').replace(',', ' ')
sdim = sss.split(' ')
mentors = [ssss for ssss in sdim if len(ssss.replace(' ', '')) > 0]
order = ''
printff(id,university, team, mentors, students, award, order)
# continue
cert.printcert(university,
team,
group,
award,
order,
students,
mentors,
division,
picdir = picdirdef)
printf('\a')
# break
#------------------------------------------------------------
printf('\a')
#------------------------------------------------------------
# END OF FILE : FINALPRINT.PY
#============================================================
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CERT.PY -- by Dr. ZhuoQing 2021-08-25
#
# Note:
#============================================================
from head import *
#------------------------------------------------------------
studentc = [27, 4, 3, 11, 19] # template, text, award, order, sn
snhead = '○ NCSC2023-09'
text_width = 40
#------------------------------------------------------------
testid = 16
#------------------------------------------------------------
groupdict = {
'负压电磁':'01', '专科电磁':'02', '摄像头':'03',
'电能接力':'04', '独轮车':'05', '智能视觉':'06',
'完全模型':'07', '极速越野':'08', '单车越野':'09',
'声音信标':10, '百度智慧交通':11,
'讯飞智慧农业':12, '大疆智慧物流':13,
'航天智慧物流':14, 'MicroPython工程挑战赛':15,
'高中':16, '初中':17, '小学':18,
'特邀表演':19, '智能巡线竞速':20, '机械大师拼装':21}
awarddict = {
'一等奖':1, '二等奖':2, '三等奖':3, '优胜奖':4, '专项奖':5, '挑战赛':6}
def printjpg(cid, filename):
tspsaveimagerange(cid, filename,0, 50)
printff(cid, filename)
#------------------------------------------------------------
def getsnstr(group, award, num):
printff(group, award, num)
return '%s-%s-%d%03d'%(snhead, 0, 111, num)
#------------------------------------------------------------
def boldheitifont(s):
rets = ''
for c in s:
rets = rets + '\h\*%s\.'%c
return rets
def boldfont(s):
rets = ''
for c in s:
rets = rets + '\*%s\.'%c
return rets
def settextwidth(s, width):
rets = ''
count = 0
for id,c in enumerate(s):
if c in '\\ . * h'.split():
rets = rets + c
if c == '.':
if count >= width - 1:
count -= (width - 1)
rets += '\r\n'
continue
if ord(c) < 127: count += 1
else: count += 2
appendcount = 0
if s[id:id+4] == '2022':
if count+3 >= width:
rets += '\r\n'
count = 0
rets = rets + c
if count+appendcount >= width:
count -= width
rets += '\r\n'
return rets
#------------------------------------------------------------
def setstudenttext(tid, university, student, group, division):
global text_width
university = boldheitifont(university)
student = boldheitifont(student)
group = boldfont(group)
setstr = '%s %s 同学在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, student, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setmentortext(tid, university, mentor, team, group, division):
global text_width
university = boldheitifont(university)
mentor = boldheitifont(mentor)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s 教师指导%s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, mentor, team, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setteamtext(tid, university, team, group, division):
global text_width
university = boldheitifont(university)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, team, division, group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setawardstr(awardstr):
tspsettext(studentc[2], awardstr)
def setorderstr(orderstr):
if len(orderstr) > 2:
orderstr = '(%s)'%orderstr
else: orderstr = ' '
printf(orderstr)
tspsettext(studentc[3], orderstr)
#------------------------------------------------------------
printcount = 0
def printcert(university, team, group, award, order, students,
mentors, division = '全国总决赛', picdir=r'd:\temp'):
global printcount
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
if len(order) < 2: order = ''
team = team.replace('"', '')
setawardstr(award)
setorderstr(order)
setteamtext(studentc[1], university, team, group, division)
tsprv()
outfn = os.path.join(picdir, '%s_%s_%s.jpg'%(university, team, group))
printjpg(studentc[0], outfn)
for s in students:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setstudenttext(studentc[1], university, s, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
for s in mentors:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setmentortext(studentc[1], university, s, team, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
#------------------------------------------------------------
if __name__ == "__main__":
outdir = r'd:\temp\CERTIFCATION'
if not os.path.isdir(outdir):
os.mkdir(outdir)
sstr = ['银杏', '红桃']
mstr = ['金鱼', '银鱼']
printcert('大红枣大学', '风火轮四轮', '讯飞智慧农业', '一等奖', '第一名', sstr, mstr, picdir=outdir)
printf('\a')
#------------------------------------------------------------
# END OF FILE : CERT.PY
#============================================================
英飞凌企业奖
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# FINALPRINT.PY -- by Dr. ZhuoQing 2021-08-26
#
# Note:
#============================================================
from head import *
import cert
import shutil
import openpyxl
#------------------------------------------------------------
group = '特邀表演'
division = '全国总决赛'
cert.printcount = 110
corders = "零一二三四五六七八九十"
#------------------------------------------------------------
strid = 29
strall = tspgetdopstring(strid).split('\r\n')
#------------------------------------------------------------
outdir = r'd:\temp\CERTIFCATION'
picdirdef = outdir
if not os.path.isdir(picdirdef):
os.mkdir(picdirdef)
else:
shutil.rmtree(picdirdef)
os.mkdir(picdirdef)
#------------------------------------------------------------
for id,s in enumerate(strall):
ss = s.split('\t')
# printf(ss)
group = '英飞凌杯技术创新'
award = ss[0].replace("英飞凌杯.", "")
if award.find('赛') > 0:
award = award.split('赛')[-1]
if award.find('杯') > 0:
award = award.split('杯')[-1]
university = ss[1]
team = ss[2]
sss = ss[3].replace(',', ' ').replace(',', ' ')
sdim = sss.split(' ')
students = [ssss for ssss in sdim if len(ssss.replace(' ', '')) > 0]
sss = ss[4].replace(',', ' ').replace(',', ' ')
sdim = sss.split(' ')
mentors = [ssss for ssss in sdim if len(ssss.replace(' ', '')) > 0]
order = ''
printff(id,university, team, mentors, students, award, order)
# continue
cert.printcert(university,
team,
group,
award,
order,
students,
mentors,
division,
picdir = picdirdef)
printf('\a')
# break
#------------------------------------------------------------
printf('\a')
#------------------------------------------------------------
# END OF FILE : FINALPRINT.PY
#============================================================
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CERT.PY -- by Dr. ZhuoQing 2021-08-25
#
# Note:
#============================================================
from head import *
#------------------------------------------------------------
studentc = [27, 4, 3, 11, 19] # template, text, award, order, sn
snhead = '○ NCSC2023-09'
text_width = 40
#------------------------------------------------------------
testid = 16
#------------------------------------------------------------
groupdict = {
'负压电磁':'01', '专科电磁':'02', '摄像头':'03',
'电能接力':'04', '独轮车':'05', '智能视觉':'06',
'完全模型':'07', '极速越野':'08', '单车越野':'09',
'声音信标':10, '百度智慧交通':11,
'讯飞智慧农业':12, '大疆智慧物流':13,
'航天智慧物流':14, 'MicroPython工程挑战赛':15,
'高中':16, '初中':17, '小学':18,
'特邀表演':19, '智能巡线竞速':20, '机械大师拼装':21}
awarddict = {
'一等奖':1, '二等奖':2, '三等奖':3, '优胜奖':4, '专项奖':5, '挑战赛':6}
def printjpg(cid, filename):
tspsaveimagerange(cid, filename,0, 50)
printff(cid, filename)
#------------------------------------------------------------
def getsnstr(group, award, num):
printff(group, award, num)
return '%s-%s-%d%03d'%(snhead, 0, 111, num)
#------------------------------------------------------------
def boldheitifont(s):
rets = ''
for c in s:
rets = rets + '\h\*%s\.'%c
return rets
def boldfont(s):
rets = ''
for c in s:
rets = rets + '\*%s\.'%c
return rets
def settextwidth(s, width):
rets = ''
count = 0
for id,c in enumerate(s):
if c in '\\ . * h'.split():
rets = rets + c
if c == '.':
if count >= width - 1:
count -= (width - 1)
rets += '\r\n'
continue
if ord(c) < 127: count += 1
else: count += 2
appendcount = 0
if s[id:id+4] == '2022':
if count+3 >= width:
rets += '\r\n'
count = 0
rets = rets + c
if count+appendcount >= width:
count -= width
rets += '\r\n'
return rets
#------------------------------------------------------------
def setstudenttext(tid, university, student, group, division):
global text_width
university = boldheitifont(university)
student = boldheitifont(student)
group = boldfont(group)
setstr = '%s %s 同学在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, student, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setmentortext(tid, university, mentor, team, group, division):
global text_width
university = boldheitifont(university)
mentor = boldheitifont(mentor)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s 教师指导%s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, mentor, team, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setteamtext(tid, university, team, group, division):
global text_width
university = boldheitifont(university)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, team, division, group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setawardstr(awardstr):
tspsettext(studentc[2], awardstr)
def setorderstr(orderstr):
if len(orderstr) > 2:
orderstr = '(%s)'%orderstr
else: orderstr = ' '
printf(orderstr)
tspsettext(studentc[3], orderstr)
#------------------------------------------------------------
printcount = 0
def printcert(university, team, group, award, order, students,
mentors, division = '全国总决赛', picdir=r'd:\temp'):
global printcount
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
if len(order) < 2: order = ''
team = team.replace('"', '')
setawardstr(award)
setorderstr(order)
setteamtext(studentc[1], university, team, group, division)
tsprv()
outfn = os.path.join(picdir, '%s_%s_%s.jpg'%(university, team, group))
printjpg(studentc[0], outfn)
for s in students:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setstudenttext(studentc[1], university, s, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
for s in mentors:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setmentortext(studentc[1], university, s, team, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
#------------------------------------------------------------
if __name__ == "__main__":
outdir = r'd:\temp\CERTIFCATION'
if not os.path.isdir(outdir):
os.mkdir(outdir)
sstr = ['银杏', '红桃']
mstr = ['金鱼', '银鱼']
printcert('大红枣大学', '风火轮四轮', '讯飞智慧农业', '一等奖', '第一名', sstr, mstr, picdir=outdir)
printf('\a')
#------------------------------------------------------------
# END OF FILE : CERT.PY
#============================================================
中小学生组
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# FINALPRINT.PY -- by Dr. ZhuoQing 2021-08-26
#
# Note:
#============================================================
from head import *
import cert
import shutil
import openpyxl
#------------------------------------------------------------
group = '讯飞智慧农业'
division = '全国总决赛'
cert.printcount = 110
scorefile = r'H:\SmartCar\2023\CertPrint\DOP\中小学组\2023国赛中小学获奖名单.xlsx'
wb = openpyxl.load_workbook(scorefile, data_only=True)
ws = wb.get_sheet_by_name("Sheet1")
corders = "零一二三四五六七八九十"
#------------------------------------------------------------
outdir = r'd:\temp\CERTIFCATION'
picdirdef = outdir
if not os.path.isdir(picdirdef):
os.mkdir(picdirdef)
else:
shutil.rmtree(picdirdef)
os.mkdir(picdirdef)
#------------------------------------------------------------
for id,a in enumerate(ws):
astr = [str(aa.value) for aa in a]
# printf(astr)
if not astr[0].isdigit(): continue
university = astr[2]
team = astr[3]
group = astr[1] + '(%s)'%astr[5]
mentors = [s for s in astr[4:5] if len(s) >= 2 and s != 'None']
students = [s for s in astr[6:8] if len(s) >= 2 and s != 'None']
award = astr[8]
order = ''
printff(id,university, team, mentors, students, award, order)
# continue
cert.printcert(university,
team,
group,
award,
order,
students,
mentors,
division,
picdir = picdirdef)
printf('\a')
# break
#------------------------------------------------------------
printf('\a')
#------------------------------------------------------------
# END OF FILE : FINALPRINT.PY
#============================================================
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CERT.PY -- by Dr. ZhuoQing 2021-08-25
#
# Note:
#============================================================
from head import *
#------------------------------------------------------------
studentc = [27, 4, 3, 11, 19] # template, text, award, order, sn
snhead = '○ NCSC2023-09'
text_width = 40
#------------------------------------------------------------
testid = 16
#------------------------------------------------------------
groupdict = {
'负压电磁':'01', '专科电磁':'02', '摄像头':'03',
'电能接力':'04', '独轮车':'05', '智能视觉':'06',
'完全模型':'07', '极速越野':'08', '单车越野':'09',
'声音信标':10, '百度智慧交通':11,
'讯飞智慧农业':12, '大疆智慧物流':13,
'航天智慧物流':14, 'MicroPython工程挑战赛':15,
'高中':16, '初中':17, '小学':18,
'特邀表演':19, '智能巡线竞速':20, '机械大师拼装':21}
awarddict = {
'一等奖':1, '二等奖':2, '三等奖':3, '优胜奖':4, '专项奖':5, '挑战赛':6}
def printjpg(cid, filename):
tspsaveimagerange(cid, filename,0, 50)
printff(cid, filename)
#------------------------------------------------------------
def getsnstr(group, award, num):
printff(group, award, num)
return '%s-%s-%d%03d'%(snhead, 0, awarddict[award], num)
#------------------------------------------------------------
def boldheitifont(s):
rets = ''
for c in s:
rets = rets + '\h\*%s\.'%c
return rets
def boldfont(s):
rets = ''
for c in s:
rets = rets + '\*%s\.'%c
return rets
def settextwidth(s, width):
rets = ''
count = 0
for id,c in enumerate(s):
if c in '\\ . * h'.split():
rets = rets + c
if c == '.':
if count >= width - 1:
count -= (width - 1)
rets += '\r\n'
continue
if ord(c) < 127: count += 1
else: count += 2
appendcount = 0
if s[id:id+4] == '2022':
if count+3 >= width:
rets += '\r\n'
count = 0
rets = rets + c
if count+appendcount >= width:
count -= width
rets += '\r\n'
return rets
#------------------------------------------------------------
def setstudenttext(tid, university, student, group, division):
global text_width
university = boldheitifont(university)
student = boldheitifont(student)
group = boldfont(group)
setstr = '%s %s 同学在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, student, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setmentortext(tid, university, mentor, team, group, division):
global text_width
university = boldheitifont(university)
mentor = boldheitifont(mentor)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s 教师指导%s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, mentor, team, division,group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setteamtext(tid, university, team, group, division):
global text_width
university = boldheitifont(university)
nameflag = 0
if len(team) > 0:
if team[-1] == '队':
nameflag = 1
team = boldfont(team)
if nameflag == 0:
team = team + ' 队'
else: team = team + ''
group = boldfont(group)
setstr = '%s %s在2023年第十八届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, team, division, group)
setstr = settextwidth(setstr, text_width)
tspsettext(tid, setstr)
def setawardstr(awardstr):
tspsettext(studentc[2], awardstr)
def setorderstr(orderstr):
if len(orderstr) > 2:
orderstr = '(%s)'%orderstr
else: orderstr = ' '
printf(orderstr)
tspsettext(studentc[3], orderstr)
#------------------------------------------------------------
printcount = 0
def printcert(university, team, group, award, order, students,
mentors, division = '全国总决赛', picdir=r'd:\temp'):
global printcount
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
if len(order) < 2: order = ''
team = team.replace('"', '')
setawardstr(award)
setorderstr(order)
setteamtext(studentc[1], university, team, group, division)
tsprv()
outfn = os.path.join(picdir, '%s_%s_%s.jpg'%(university, team, group))
printjpg(studentc[0], outfn)
for s in students:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setstudenttext(studentc[1], university, s, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
for s in mentors:
printcount += 1
snstr = getsnstr(group, award, printcount)
tspsettext(studentc[4], snstr)
setmentortext(studentc[1], university, s, team, group, division)
tsprv()
outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
printjpg(studentc[0], outfn)
#------------------------------------------------------------
if __name__ == "__main__":
outdir = r'd:\temp\CERTIFCATION'
if not os.path.isdir(outdir):
os.mkdir(outdir)
sstr = ['银杏', '红桃']
mstr = ['金鱼', '银鱼']
printcert('大红枣大学', '风火轮四轮', '讯飞智慧农业', '一等奖', '第一名', sstr, mstr, picdir=outdir)
printf('\a')
#------------------------------------------------------------
# END OF FILE : CERT.PY
#============================================================