到了大班,幼儿开始前书写练习,为了让孩子们每天完成的材料包、美术作品能够快速找到作者,不遗失,老师们要求孩子在作业上留下学号或名字。
通过测试,我发现大八班的孩子都能够写出自己的学号(有镜像数字),物权基础能够实现。此外目前班级里有5位孩子能够写出全名,为了让其余的孩子也能通过书写,熟悉自己名字的外形结构并为小学书写名字做基础,常规的方法是一个个模板把批量替换,费时不费脑。
学过Python后,阿夏就希望利用Python办公自动化的方法,批量生成幼儿练习名字用的描红纸。有效节省时间。如果孩子名字笔画多、复杂,也可以通过设置字号,把描红名字变大,便于幼儿画名字,或者根据名字打印纸,把名字画在作业纸上……经过一周的时间,通过各类网络代码的收集、补充、删减。阿夏终于做出 1.0版本的代码。
(整班幼儿名单,现在我还不会用代码一行显示两个名字,只能直接排列两个名),先把TXT里的名字贴好。
import docx from docx import Document #用来建立一个word对象 from docx.shared import Pt,RGBColor#设置字体的颜色 from docx.oxml.ns import qn#设置字体 from docx.enum.text import WD_PARAGRAPH_ALIGNMENT #设置对齐方式 from docx.shared import Pt #设置字体大小 #从幼儿名单.txt文件中读取一个客人列表 guests=open('幼儿名单.txt') guest_list=[] for guest in guests: if guest is not None: guest_list.append(guest.strip()) #生成邀请文档 for g in guest_list: doc=docx.Document() #新建word文档 for i in range(6): #反复打印6行 paragraph1=doc.add_paragraph() paragraph1.paragraph_format.alignment=WD_PARAGRAPH_ALIGNMENT.LEFT#LEFT就是居左,可以替换成RIGHT右 CENTER居中 run=paragraph1.add_run(g) #向段落中追加文字 run.bold=True #设置追加文字样式 设置 加粗 # run.font.italic=True #把字体改为斜体,这里不需要 run.font.size=Pt(55)#设置 字号大小 run.font.name = u"微软雅黑" #设置 字体名称 run.font.color.rgb=RGBColor(190,190,190) #颜色=灰色190,190,190,描红的底色要浅,打印机只能打印黑白,255,3,5=红色 # run.font.name='Arial' #只能设置英文名称 run._element.rPr.rFonts.set(qn('w:eastAsia'),'微软雅黑') #只设置中文字体 # paragraph1.paragraph_format.line_spacing=Pt(18) #行距 设置18 paragraph1.paragraph_format.line_spacing = 1 #行距 设置1倍 2倍 doc.save(g+'.docx')
1.生成的幼儿描红纸word也是在D:\test下面
2.每份描红纸word的名字和内容都不一样
28号的名字描红纸
01号的名字描红纸
参考红字说明,对应代码里的设置,进行段落、字体、颜色的简单修改。
3.打印及幼儿操作照片
(待补充)