期末了给孩子们一些鼓励吧!用Python批量制作【纸质】奖状的方法请查收!
原理:使用python-docx模块制作奖状生成器,批量生成word奖状。由于每个学生拥有一个word文档,打印起来非常不方便,所以再利用文档合并代码,将所有奖状的word放在一个word里就可以批量打印奖状了。
一、安装三个库
pip install python-docx
pin install pinyin
pip install certimaker
我在安装docx库时报错,于是采用了国内安装源:
pip install python-docx -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
即可安装成功:
二、制作单个奖状代码
"""
制作纸质奖状
"""
from docx import Document
from docx.shared import Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn
from docx import Document
import pinyin
import datetime
from docxclass import make_certificate"""
设置文本颜色为黑色
"""
BLACK = RGBColor(0,0,0)"""
获取当前时间以便落款
"""
THISYM = datetime.datetime.now().strftime('%Y年%m月') """
绘制word内容
"""
class DocWriter:def __init__(self,name,award):self.doc = Document()self.name = nameself.award = awarddef new_para(self):self.para = self.doc.add_paragraph()def write_run(self, content, fontsize = 25, fontname = '宋体',alignment = WD_ALIGN_PARAGRAPH.LEFT, color = BLACK, underline = False, bold = False):para = self.pararun = para.add_run(content)run.font.size = Pt(fontsize)run.font.name = fontnamerun.font.underline = underlinerun.font.bold = boldr = run._element.rPr.rFontsr.set(qn('w:eastAsia'),fontname)para.alignment = alignmentrun.font.color.rgb = colordef signature(self,sign):self.new_para()self.write_run(sign,alignment=WD_ALIGN_PARAGRAPH.RIGHT,fontsize = 20,bold=True)self.new_para()self.write_run(THISYM,alignment=WD_ALIGN_PARAGRAPH.RIGHT,fontsize = 20,bold=True)def save_doc(self):pyname = pinyin.get(self.name, format='strip', delimiter="")pyaward= pinyin.get(self.award,format='strip', delimiter="")filename = pyname + '_'+ pyaward + '.docx'self.doc.save(filename)"""
制作奖状单个奖状
"""def make_certificate(name,award):awardoc = DocWriter(name,award)awardoc.new_para()awardoc.new_para()awardoc.new_para()awardoc.new_para()awardoc.new_para()awardoc.new_para()awardoc.write_run('\t'*2+name,fontsize = 25,underline = False,bold=True)awardoc.write_run('同学:',fontsize = 20,bold=True)awardoc.new_para()awardoc.write_run(f'\t\t\t荣……获第三届科技节编程类竞赛',underline = False,bold=True,fontsize = 25)awardoc.new_para()awardoc.write_run('\t'*8 + award + ' '*2, underline=False, bold=True,fontsize = 40)awardoc.new_para()awardoc.signature('……小学校')awardoc.save_doc()name = '羊羊羊'
award = '一等奖'
make_certificate(name,award)
三、批量制作奖状
在字典中添加想要制作的奖状即可批量生产。
award_dict = {'羊羊羊':'一等奖',……
}for name,award in award_dict.items():make_certificate(name,award)
四、合并所有奖状方便打印
因为批量生产出来的奖状如下,不方便打印
于是,我们来合并所有word文件吧!!!
"""
合并奖状
"""
import win32com.client as win32
import os
word = win32.gencache.EnsureDispatch('Word.Application')
#启动word对象应用
word.Visible = False
path = r'C:/Users/86136/Desktop/奖状制作/制作纸质奖状'
files = []
for filename in os.listdir(path):filename = os.path.join(path,filename)files.append(filename)
#新建合并后的文档
output = word.Documents.Add()
for file in files:output.Application.Selection.InsertFile(file)#拼接文档
#获取合并后文档的内容
doc = output.Range(output.Content.Start, output.Content.End)
output.SaveAs('C:/Users/86136/Desktop/奖状制作/合并奖状.docx') #保存
output.Close()
五、问题
1.怎么初始化页面设置为横向+A4纸,有大佬能帮忙解答下吗?
2.合并的时候换页如何换,有大佬能帮忙解答下吗?
期末了给孩子们一些鼓励吧!用Python批量制作【纸质】奖状的方法请查收!相关推荐
- python适合自学编程吗-孩子学编程选Scratch还是Python
我们都知道编程的重要性,编程要从娃娃抓起,但孩子到底是该学Scratch还是Python呢?Scratch和Python的区别是什么? 1.孩子应该学Scratch还是Python? (1)0-6岁的 ...
- HTML5期末大作业:漫画网站设计——海贼王我当定了(6页) web前端期末大作业 html+css+javascript网页设计实例 企业网站制作 计算机毕设网页设计源码
HTML5期末大作业:漫画网站设计--海贼王我当定了(6页) web前端期末大作业 html+css+javascript网页设计实例 企业网站制作 计算机毕设网页设计源码 常见网页设计作业题材有 个 ...
- HTML+CSS网页设计期末课程大作——篮球网页设计(6页) 学校篮球网页制作模板 学生简单体育运动网站设计成品
HTML+CSS网页设计期末课程大作--篮球网页设计(6页) 学校篮球网页制作模板 学生简单体育运动网站设计成品 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. ...
- 编程入门python语言是多大孩子学的-什么是少儿Python编程?这一篇就够啦!
原标题:什么是少儿Python编程?这一篇就够啦! 少儿Python编程大家都了解多少呢? 由于少儿编程学习的重要性被广大家长朋友们所知,再加上近几年来我国对少儿编程教育的重视,现在很多的家长朋友们都 ...
- web前端期末大作业 html+css+javascript网页设计实例 企业网站制作 (绿色植物网站设计)...
1.临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手? 网页要求的总数量太多? 2.没有合适的模板?等等一系列问题.你想要解决的问题,在这篇博文中基本都能 ...
- web前端期末大作业 html+css+javascript网页设计实例 企业网站制作 (绿色植物网站设计)
HTML5期末大作业:绿色植物网站设计--绿色多肉盆栽植物养殖网页(6页) HTML+CSS+JavaScript 期末作业HTML代码 学生网页课程设计期末作业下载 web网页设计制作成品 1.临近 ...
- 上海交通大学python期末考试样题加解析_上海交通大学python期末考试样题加解析...
<上海交通大学python期末考试样题加解析>由会员分享,可在线阅读,更多相关<上海交通大学python期末考试样题加解析(7页珍藏版)>请在人人文库网上搜索. 1.升够上伙归 ...
- 5000套web前端期末大作业 HTML+CSS+JavaScript网页设计实例 企业网站制作【建议收藏】
一.1000套HTML期末学生结课大作业作品(HTML+CSS+JS) 这8年来做了1000多套(HTML+CSS+JS)网页设计的学生期末大作业,都是给学生定制的都符合学校或者学生考试期末作业的水平 ...
- 200套web前端期末大作业 HTML+CSS+JavaScript网页设计实例 企业网站制作
一.200套HTML期末学生结课大作业作品(HTML+CSS+JS) 这五年来做了200多套(HTML+CSS+JS)网页设计的学生期末大作业,都是给学生定制的都符合学校或者学生考试期末作业的水平,都 ...
- HTML5期末大作业:汽车主题网页设计——21 汽车租赁(47页) HTML+CSS+JavaScript web前端期末大作业 html+css+javascript网页设计实例 企业网站制作
HTML5期末大作业:汽车主题网页设计--21 汽车租赁(47页) HTML+CSS+JavaScript 期末作业HTML代码 学生网页课程设计期末作业下载 web网页设计制作成品 大学生毕设网页设 ...
最新文章
- 查询时间范围_MySQL慢查询(中):正确处理姿势,你get到了吗?
- Java文件非法字符
- Maven(五)使用Nexus搭建Maven私服
- linux下使用ThinkPHP注意大小写问题
- 信息学奥赛一本通C++语言——1054:三角形判断
- spring IOC快速入门,属性注入,注解开发
- selenium自动化测试配置工具整理
- java equals() output_Java中的==和equals
- was进程内存占用过大_Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决...
- matlab2016b慢,Matlab 2016a/b中调用GPU速度巨慢的解决办法
- 怎样用计算机粉碎文件夹,怎么使用电脑文件管家粉碎功能
- Google Earth Engine(GEE)——使用Combining reducers计算均值和标准差
- Codeforces D. Berserk And Fireball(贪心)
- 计算机课件白板培训,交互式电子白板的使用培训(1)(2)ppt课件
- 《文言文复兴系列 5 人之道》(江湖一剑客)
- Xilinx zynqmp VCU使用
- android摇一摇跳转界面,android摇一摇随机变图片
- 题目---小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';。
- 中国好生意 经典论述:哈林是来主持的,刘欢是来开家长会的,那英是来唠嗑的,杨坤是来做宣传的,而......
- 7-2 拍7令四 (100 分)
热门文章
- 西安电子科技大学计算机考博,西安电子科技大学2017年拟录取申请考核博士生名.PDF...
- 机器学习学习笔记之——处理文本数据
- Java中的增强for
- Redis(十九)-Redis的数据库与键空间
- 清空SQL数据库日志|数据库开发|SQL|web开发|快速开发|中间件平台|方正飞鸿|ES2007|
- 5G学习笔记之RRC_IDLE/RRC_INACTIVE态UE功能概述
- 可汗学院公开课:统计学笔记——线性回归、卡方分布、方差分析
- Verilog中reg和wire的区别
- [书目20110904]谢孟媛英文文法
- XML文档类型定义---XML Schema结构