展示效果:

单人使用样式:

多页打印样式

背景需求:

做《蒙德里安》格子画时,我把A4纸分割为正方形画框和长条纸支撑。活动中幼儿询问:为什么我的画站不起来?(底边剪的不平整、提手太重、画框有边缘白条太重)

这让我发现,Python批量的纸类A4学具除了运用与数学和美术,还可以基于纸张本身的材料,进行一些探究活动——平衡性等。

在世界杯期间,我想把A4纸条利用起来,就想到了最简单的手工制作方法——搓棒子制作手持式国旗。

Word模板设置

插入1行3列表格

第1个单元格的高宽

第2个单元格的高宽

第3个单元格的高宽

边框设置:内外边框都是黑体3磅,

文字

国旗的设计:

网上百度百科里下载16强国家的国旗图片,PNG图片+标注国旗长宽比

由于每个国旗的长宽比不同,因此不能把国旗统一成一样的长款。

所以需要在ppt 里把图片调整适应Word单元格大小(宽度最多14.1CM)

16强国旗主要有几种款式:(1:3、1:2、7:10、10:18、5:8、1:1、3:5、2:3最多)

 如果单纯用纸条制作旗杆,时间过快,所以用PPT把16强国旗上主要色块做色卡,让幼儿进行简单的涂色。

(国徽标志、星星由于太过细小,蜡笔根本涂不到这些细节,所以都保留彩色图案,只需要幼儿涂大色块)

为了便于抽取国家名称,所有的图片名字格式“国家-1国旗X比X.png"

里面的“-”很重要,是抽取文字的一个节点,必须在国家名称后面加一个“-”,否则无法提取国旗对应的名字。

代码设计:

'''作者:阿夏
时间:2022年12月03日世界杯16强国旗)'''import os,randomnum=int(input('生成多少份\n'))
# Number=int(input('抽取几个16强国旗图片(1个)\n'))print('----------第1步:提取所有的16强国旗图片的路径------------')path = r'C:\Users\jg2yXRZ\OneDrive\桌面\16强国旗\16强国旗图片' #文件夹目录
files= os.listdir(path) #得到文件夹下的所有文件名称 ['塞内加尔国旗2比3.png','澳大利亚国旗2比1.png']
print(files)
lists=[] # 所有图片路径的集合
for f in files:a='{}\{}'.format(path,f)    # 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\16强国旗\\16强国旗图片\\塞内加尔国旗2比3.png'lists.append(a)
print(lists)
# ['C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\16强国旗\\16强国旗图片\\塞内加尔国旗2比3.png', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\16强国旗\\16强国旗图片\\巴西国旗7比10.png', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\16强国旗\\16强国旗图片\\法国国旗2比3.png', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\16强国旗\\16强国旗图片\\波兰国旗5比8.png', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\16强国旗\\16强
# 国旗图片\\澳大利亚国旗2比1.png', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\16强国旗\\16强国旗图片\\美国国旗10比19.png', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\16强国旗\\16强国旗图片\\英格兰国旗3比
# 5.png', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\16强国旗\\16强国旗图片\\荷兰国旗2比3.png', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\16强国旗\\16强国旗图片\\葡萄牙国旗2比3.png', 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\16强国旗\\16强国旗图片\\阿根廷国旗3比5.png']print('----------第2步:新建一个临时文件夹------------')
# 新建一个”装N份word和PDF“的文件夹
os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\16强国旗\零时Word')print('----------第3步:随机抽取16个国旗1个 ------------')from win32com.client import constants,gencache
from win32com.client.gencache import EnsureDispatch
from win32com.client import constants # 导入枚举常数模块
import os,timeimport docx
from docx import Document
from docx.shared import Inches,Cm,Pt
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qnfrom docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColorfor nn in range(1,num+1):    # word = gencache.EnsureDispatch('Word.Application')doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\16强国旗\16强国旗(模板).docx')# 打开带docx模板(这个模板有页脚的页码,阿夏认为页码是必须的)table = doc.tables[0]          # 一共有1个表格    k = random.choice(lists)    # 随机抽取8个不重复空心图案  # C:\Users\jg2yXRZ\OneDrive\桌面\16强国旗\16强国旗图片\澳大利亚国旗2比1.pngb=k.split("\\")[-1] #抽取最后一段 澳大利亚国旗2比1.pngc=b.split("-")[0]    # 抽取-前面的文字 澳大利亚   run=doc.tables[0].cell(0,2).paragraphs[0].add_run()        # 在第1个表格中第2个单元格内插入国旗# run.add_picture('{}'.format(k),width=Cm(13.5),height=Cm(9))     run.add_picture('{}'.format(k))# 插入16强国旗图片,k=16强国旗图片所在路径。单元格大小有限,每张16强国旗图片原始尺寸8.744CM,插入的大小最多4CM    table.cell(0,2).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中     run=table.cell(0,0).paragraphs[0].add_run(c)    # 在单元格0,0(第1行第1列)输入国家名称run.font.name = '黑体'#输入时默认华文彩云字体run.font.size = Pt(80)  #输入字体大小默认30号run.font.color.rgb = RGBColor(200,200,200) #设置灰色# paragraph.paragraph_format.line_spacing = Pt(180) #数字段间距r = run._elementr.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷table.cell(0,0).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中   # doc.Save()# 把有空格的1.docx保存doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\16强国旗\零时Word\{}.docx'.format('%02d'%nn))       from docx2pdf import convert# docx 文件另存为PDF文件inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/16强国旗/零时Word/{}.docx".format('%02d'%nn)  # 要转换的文件:已存在outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/16强国旗/零时Word/{}.pdf".format('%02d'%nn)  # 要生成的文件:不存在# 先创建 不存在的 文件f1 = open(outputFile, 'w')f1.close()# 再转换往PDF中写入内容convert(inputFile, outputFile)print('----------第4步:把都有PDF合并为一个打印用PDF------------')# 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
import os
from PyPDF2 import PdfFileMerger
target_path =  'C:/Users/jg2yXRZ/OneDrive/桌面/16强国旗/零时Word'
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
pdf_lst.sort()
file_merger = PdfFileMerger()
for pdf in pdf_lst:print(pdf)file_merger.append(pdf)
file_merger.write("C:/Users/jg2yXRZ/OneDrive/桌面/16强国旗/(打印合集)16强国旗A4整张({}份).pdf".format(num))
file_merger.close()
# doc.Close()# print('----------第5步:删除临时文件夹------------')
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/16强国旗/零时Word') #递归删除文件夹,即:删除非空文件夹

重点说明:

输入数据

只要填写份数,其他都是默认的

运行过程

国旗图片的路径

合成PDF

随后删除过渡信息

  一、提取所有图片的路径

 二、抽图片,及图片上的文字,填入相应的格子里

效果展示:

1张1人

预设玩法:

1、探究:做一根国旗杆(折纸、卷纸)

2、美术:根据电视上图片的图案涂色。

3、前书写:名字、学号

4、其他:幼儿的玩法行为、语言表达、互动交流。

【教学类-20-01】20221203《世界杯16强国旗-随机版》(大班)相关推荐

  1. 卡塔尔世界杯 16 强全部出炉,欧洲占半席、亚足联三队出线,淘汰赛有哪些看点?你看好哪支球队晋级?

    看看对战图吧 十六强对阵先放前面,然后再一组一组说. 上半区可以称为南美双雄战群英,下半区则能叫做欧路诸侯会非洲. 荷兰VS美国: 都缺席了上届世界杯的两队本次不但重回世界杯舞台,还都顺利晋级.虽然都 ...

  2. 【教学类-33-01】20230417食物交换卡片1.0版(6、8、10、12以内的随机数量+绘画+等量交换)(中班:偏科学-数)

    作品效果 背景需求 探究PPT图标里面的矢量图有什么与教学相关的用途 代码 ''' 目的: 1.根据食物卡片的每种食物数量写出数字或者尝试交换卡片(6以内.8以内.10以内.12以内) 2.作者:阿夏 ...

  3. 【教学类-11-01】20221103《扑克牌4*4》(大班个别化活动-益智区》)

    作品效果图 1.全部黑色(草花黑桃)3-10 2.全部红色(红桃方块)3-10 3.四种图案随机出现3-10(单页图案不重复) 背景需求: 扑克牌(poker)是一种游戏纸牌(playing card ...

  4. 【教学类-06-05】20220405 20以内加减法“从小到大排序题“(不重复题)(Python VS)

    前提需求: [教学类-07-02]20220330 5以内加减法不重复题 及生成word打印docx纸(方法二)(Python VS)_reasonsummer的博客-CSDN博客[教学类-07-02 ...

  5. 【教学类-13-04】20230404《数字色块图+判断密码是否正确-5*7*8-A4横板-横切》(中班主题《我爱我家》)

    背景需求: 1.项目: 去年上学期给中班.大班孩子做过一个"像素数字图""的游戏. [教学类-13-01]20221112<数字色块图5*7*9-A4竖版>( ...

  6. 【教学类-09-02】20221022《动物棋10*10 S形迷宫》(数字续写和骰子游戏)(大班主题《动物花花衣》)

    效果展示: 背景需求: [教学类-09-01]20221022<动物棋>的排列方式是10*10矩阵(每行都是从小到大升序排列)从游戏棋的角度出发,它并不是一条线连贯的路线.游戏时需要&qu ...

  7. 【教学类-09-01】20221022《动物棋10*10》(数字续写和骰子游戏)(大班主题《动物花花衣》)

    效果样式: 背景需求: [教学类-08]"门牌号"的设计原理是对已有的Word模板内的"数字"进行随机删除,幼儿尝试补全空格上的门牌号.根据这个思路,我把代码进 ...

  8. 【教学类-30-02】10以内加法题不重复(一页两份)(包括6以内、7以内、8以内、9以内、10以内加法题 只抽取25个)

    作品样式: 背景需求: 前一篇提到5以内不重复(不超过25题)加法题的word界面布局,做为普测题目打印 [教学类-30-01]5以内加法题不重复(一页两份)包含1以内.2以内.3以内.4以内.5以内 ...

  9. 【教学类-29-02】20230402《门牌号-黏贴版打印数量调查教学实践(6层*5间)》-(中班《我爱我家》偏数学)

    背景需求 前文介绍了门牌号黏贴版的制作过程,及4款分层学具的参数设置.但是我很快又发现了两个问题 [教学类-29-01]20230401<门牌号(6层*5间)-黏贴版(中班<我爱我家> ...

  10. 06世界杯8强备忘录

    1 德国 作为06年世界杯的东道主,德国在本届赛事上的表现极为抢眼.在小组赛中,德国与哥斯达黎加,厄瓜多尔,波兰分到一组.在首场的揭幕战中,德国和哥斯达黎加一起奉献了一场精彩的比赛.德国4:2赢得比赛 ...

最新文章

  1. [Spark][Flume]Flume 启动例子
  2. mysql 存储过程月单拆天单_为部门整理的mysql_db使用军规
  3. SQL 触发器 当修改TEST表中的F1字段时,同时根据条件修改F2字段
  4. html制作手机预览效果,新移动端Html5方式预览报表插件
  5. ES6结构赋值的用途
  6. [HAOI2008]糖果传递 结论题
  7. QT - 内存泄漏检测
  8. linux操作常用命令
  9. Binary Tree Preorder Traversal @leetcode
  10. Java基础篇:如何应用接口?
  11. 占位符是如何防止sql注入的?
  12. java应用程序必须有主类_2020最新版Java基础知识面试题
  13. 社区发现算法——COPRA算法
  14. excel学习-添加控件
  15. 【无人机学习】无人机基础知识
  16. 小白都能看得懂的java回调
  17. 半桥llc 增益 matlab程序,“狠”完整的LLC谐振半桥电路分析与计算!
  18. Tracup|项目经理必备的极客式项目管理工具
  19. linux shell 字符串长度
  20. 干货分享|PRD 模板

热门文章

  1. wordpress 搭建的博客: 增加网站备案信息
  2. CAS单点登录【1】-理论(cas架构、https、SSL、TLS、非对称加密、证书、CA、握手)、OpenSSL、cas(认证、指定加密策略)
  3. 干货丨Kubernetes 中分析调试网络流量的4种方法
  4. 大数据与个人隐私的平衡:懂你,但不认识你
  5. 如何解决Photoshop导入视频不能错误
  6. ViPER4Android驱动平台,viper4android驱动
  7. C语言编程——输入某年某月某日,判断这一天是这一年的第几天?
  8. VUE之VUEX常见面试题大全汇总--史上最全【vuex面试题】
  9. 小飞升值记——(4)
  10. 15 离群点和高杠杆率点