日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

用Python【批量】生产【电子奖状】的方法请查收!

發布時間:2023/12/31 python 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Python【批量】生产【电子奖状】的方法请查收! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

流程:
1.用PS設計好榮譽證書模板,在姓名處留白
2.批量生產

一、用PS設計好榮譽證書模板

二、批量生產
1.準備工作
將需要獎勵的學生名單放在txt文檔中;將榮譽證書模板、學生名單、.py程序放在同一個文件夾里。

2.批量生產

''' 批量生產電子獎狀 ''' from docx.shared import Pt, RGBColor from PIL import Image,ImageDraw,ImageFont old_img = Image.open(r"榮譽證書模板.png")#導入證書模板 draw = ImageDraw.Draw(old_img) # 設置圖片文字,字體,大小,顏色 newfont=ImageFont.truetype('c:Users/86136/AppData/Local/Microsoft/Windows/Fonts/HGH_CNKI.TTF',120) newcolor = RGBColor(175,137,84) #通過RGB設置學生名字的顏色with open("student.txt", "r",encoding = 'utf-8') as f: #循環制造for line in f.readlines():line = line.strip('\n') #去掉列表中每一個元素的換行符old_img = Image.open(r"榮譽證書模板.png")draw = ImageDraw.Draw(old_img)# 設置圖片文字,字體類型,以及字體大小,顏色newfont=ImageFont.truetype('c:Users/86136/AppData/Local/Microsoft/Windows/Fonts/HGH_CNKI.TTF',120)draw.text((850,750),line,font=newfont,fill = newcolor)save_adress = str(line) + '.png' old_img.save(save_adress)print(line + "榮譽證書制作完成")

三、成果展示

四、制作過程中的報錯經驗
1.報錯UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xa2 in position 30: illega
解決:讀取txt時,添加encoding = ‘utf-8’,且txt命名方式只能為英文字母不能為中文。

2.生成的獎狀不能保存為.JPG而要保存為.PNG,因為JPG好像不支持RGB的顏色,只能用“black”、“red”這種內置顏色,所以打印不出來,而PNG格式可以。
3.疑問:本程序打印學生名字使用的字體為HGH_CNKI.TTF,但這個字體不太好看,想換,但其他很多字體打印出來就會報錯為ascii‘ codec can‘t decode byte 0xe6。我嘗試選擇了其他字母名稱的字體,依然報錯,不知為何,所以個人對打印出來的學生名字字體有些許不滿意。請大佬幫忙解決!

總結

以上是生活随笔為你收集整理的用Python【批量】生产【电子奖状】的方法请查收!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。