【教学类-21-01】20221205《青花茶杯-A4纸插入式纸盒》(大班主题《我是中国人》)

news2024/11/17 7:37:51

展示效果:

单张效果

多张效果

隐藏的部分 信息:

1.右侧第1列:幼儿园名字;

2.右侧第3列,幼儿名字

(1)3个名字+印 (为了统一4字)

(2)2个名字+印章/印信/印文)(为了统一4字)

(3)没有4个名字的孩子,如果是4个名字,就不写加“印”

 打印效果:

 背景需求:

前期数学题和涂色题做的很多,感觉想不出更多的花样了。借助纸的特性,我尝试制作”纸膜“开展简单的”折纸“活动。

在2019-2021年《铅画纸折纸》青年课题中,我原创了一个”插入式纸盒”的折叠方法——利用长方形8K铅画纸折纸制作”手提袋““茶杯”等,深受幼儿欢迎(可以装东西、可以玩游戏)。

但是插入式纸盒是一个立体结构,大班幼儿至少需要折叠10次以上的纸张,才能稍微了解每个步骤的折法——最开始的几次练习,都是老师一个人批量制作30个,给幼儿玩耍,来培养幼儿对这款产品的需求。

虽然教学中我鼓励孩子们运用”记号笔画线法”提高折叠的精准度,但幼儿对画线、折叠、立体空间水平差异很大。5位高手、5位有兴趣,其他幼儿不会做,都是可有可无。

设计思路

本次我就想制作A4大小的插入纸盒的纸膜,让幼儿根据已有的虚线来初步感知插入式纸盒的制作过程。

仅仅制作纸膜,完全可以1张复制多份,并没有什么Python代码设计的必要。

于是我在”花纹“上动脑筋,预设了”底部名字印章“的不同(大1班30位孩子的名字),把它作为大班主题《我是中国人-青花瓷》的一个学习元素,通过青花茶杯,感知传统纹理。。

(本来想让幼儿描字的,但是一方面考虑是繁体字,幼儿没有细笔来描,另一方面第一次做纸盒,幼儿和教师大部分的精力还是应该在“结构折纸”上,所以都直接把文字打印成“青花蓝”。)

 

 

 

 Word模板设置 

 

代码设计:

'''

作者:阿夏
时间:2022年12月04日插入式纸盒(茶杯-青花瓷))

'''

import xlwt
import xlrd
import os
import random
from win32com.client import constants,gencache
from win32com.client.gencache import EnsureDispatch
from win32com.client import constants # 导入枚举常数模块
import os,time
import docx
from docx import Document
from docx.shared import Pt 
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn


print('----------第1步:新建一个临时文件夹------------')
# 新建一个”装N份word和PDF“的文件夹
os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\插入茶杯\零时Word')



wb= xlrd.open_workbook(r"C:\Users\jg2yXRZ\OneDrive\桌面\插入茶杯\大1班名字篆书.xlsx") #打开文件并返回一个工作蒲对象。open_workbook可以点进去看看函数里面的参数的含义之类的,很详细,英语不好的可以百度翻译,翻译出来的结果差不多。
sheet=wb.sheet_by_index(0)   #通过索引的方式获取到某一个sheet,现在是获取的第一个sheet页,也可以通过sheet的名称进行获取,sheet_by_name('sheet名称')
# col1=sheet.col_values(0)# 学号
col2=sheet.col_values(2)# 名字
num=len(col2)-1  # 第一列去掉第一行s


# 生成 基本组:“学号+名字“
name=[]
for i in range(1,len(col2)):
    names='{}'.format (col2[i])     
    name.append(names)    # 生成第一行信息['01张三   01张三 ],正好摆一行  
print(name)
print(len(name))

# 生成 基本组:“学号+名字“
for num in range(0,len(name)):
    doc = docx.Document(r"C:\Users\jg2yXRZ\OneDrive\桌面\插入茶杯\插入茶杯(模板).docx")   
    c=name[num]
    table = doc.tables[0]          # 一共有2个表格,在第1个表格里    
    
    run=table.cell(1,1).paragraphs[0].add_run(c)    # 在单元格0,0(第1行第1列)输入国家名称
    run.font.name = '隶书'#输入时默认华文彩云字体
    run.font.size = Pt(40)  #输入字体大小默认30号
    run.font.color.rgb = RGBColor(79,81,120) #青花色
    # paragraph.paragraph_format.line_spacing = Pt(180) #数字段间距

    r = run._element
    r.rPr.rFonts.set(qn('w:eastAsia'), '隶书')#将输入语句中的中文部分字体变为华文行楷
    table.cell(1,1).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中   

    doc.save(r"C:\Users\jg2yXRZ\OneDrive\桌面\插入茶杯\零时Word\{}.docx".format('%02d'%num))

    from docx2pdf import convert

    # docx 文件另存为PDF文件
    inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/插入茶杯/零时Word/{}.docx".format('%02d'%num)# 要转换的文件:已存在
    outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/插入茶杯/零时Word/{}.pdf".format('%02d'%num) # 要生成的文件:不存在
    # 先创建 不存在的 文件
    f1 = open(outputFile, 'w')
    f1.close()
    # 再转换往PDF中写入内容
    convert(inputFile, outputFile)

# 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
import os
from PyPDF2 import PdfFileMerger
target_path =  'C:/Users/jg2yXRZ/OneDrive/桌面/插入茶杯/零时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/桌面/插入茶杯/(打印合集)大班A整页插入茶杯2乘5加表格-4名字-({}人).pdf".format(num))
file_merger.write("C:/Users/jg2yXRZ/OneDrive/桌面/插入茶杯/(打印合集)大班A整页插入茶杯1行5行表格-23名字({}人).pdf".format(num))
file_merger.close()
# doc.Close()

# # print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/插入茶杯/零时Word') #递归删除文件夹,即:删除非空文件夹

重点说明:

输入数据

只要填写份数(16*2=32张)

  运行过程

国旗图片的路径

 合成PDF

  随后删除过渡信息

  一、提取所有图片的路径

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

 效果展示: 

实现目标:

感悟:

还是老老实实按照列表索引一个个抽取写入图案吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/63595.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初识多线程编程

文章目录一、线程线程与进程的区别二、多线程编程Thread创建线程的方法一、线程 我们开始引入进程,最主要的目的是去解决"并发编程"的问题,电脑进入了多核心,想要提高程序执行速度,就得将这些核心用起来。 我们在每次…

【vue3】代码格式化和volar卡顿问题解决

一、格式化策略 用eslint做代码检查和格式化是很方便的东西; 这里我们使用vscode完成这些操作; 在代码保存的时候,顺便完成格式化操作 1)装上eslint和prettier插件 2)装完插件之后,我们需要配置一下 打开 文件 > 首选项 >…

「Whale Cast」功能更新,让全网看到您的直播高光时刻

直播为王的时代,品牌如何在直播中增强运营能力,降本增效? 11 月,「帷幄开播 Whale Cast」迎来新的功能更新,一起来看一看,它将为您的直播间运营优化带来哪些强大助力。 我们将分别按智能裁切、直播场控、直…

springboot定义统一的异常返回格式(全局,特定,自定义)等

一 设置全局统一的返回格式 1.1 没有加全局异常处理 1.这里设置一个字符串为空指针异常,然后看看返回给前端的信息。 2.返回结果 3.效果看起来不友好的提示 1.2 添加全局异常处理 1.代码:添加一个全局异常处理类 ControllerAdvice public class Glo…

MySQL存在这么多的数据引擎 , 所有的引擎都在使用吗

一 . 前言 总是看到有说MySQL某个数据引擎哪里哪里有问题的 , 让我一度怀疑我是不是Mysql 用的不对 , 有些问题都没有遇到过,所以我非常好奇 , 数据库的存储引擎 , 大家真的在用吗? MySQL 官方文档:: MySQL 5.7 Reference Manual :: 15 Alternative Storage Engi…

[附源码]计算机毕业设计基于springboot学习互助辅助系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

JavaScript高级程序设计 第4版 --表单脚本

表单脚本 1、基础  acceptCharset:服务器可以接收的字符集,等价于 HTML 的 accept-charset 属性。 action:请求的 URL,等价于 HTML 的 action 属性。 elements:表单中所有控件的 HTMLCollection。 enctype&a…

详解设计模式:状态模式

状态模式(State Pattern)也被称为状态机模式(State Machine Pattern),是在 GoF 23 种设计模式中定义了的行为型模式。 在状态模式 类的行为是基于它的状态改变的。在状态模式中,我们创建表示各种状态的对象…

9.图片分类数据集

1. 图像分类数据集 MNIST数据集 [LeCun et al., 1998] 是图像分类中广泛使用的数据集之一,但作为基准数据集过于简单。 我们将使用类似但更复杂的Fashion-MNIST数据集。 %matplotlib inline import torch import torchvision from torch.utils import data from t…

idea配置tomcat热部署不生效问题

idea中配置了tomcat的“update classes and resources”后,点击run之后,每次修改代码都没有及时生效,也就是没有成功进行热部署。 在idea中实现热部署,要先设置自动编译,再选择正确的运行模式(Debug运行&am…

SSM和SpringBoot整合

目录 一、整合Mybatis 配置文件 pom.xml application.yml jdbc.properties generatorConfig.xml 启动类 测试 二、整合Mybatis-plus Mybatis-plus 新建项目 pom.xml application.yml 在项目导入mybatis-plus的代码生成的类 完成基本增删改查方法开发 三、Mybatispl…

常用数据库之sql server的使用和搭建

1.1 介绍 关系型数据库,SQLServer是由微软公司开发的一种关系型据库管理系统,它已广泛用于电子商务、银行、保险、电力等行业。SQLServer提供了对XML和Internet标准的支持,具有强大的、灵活的、基于Web的应用程序管理功能。 1.2 优缺点 优点…

毕业设计-基于机器视觉的安全帽佩戴识别系统

目录 前言 课题背景与意义 课题实现技术思路 目标检测 算法检测 算法实现 最后 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越…

企业子网划分详解

一、IP协议 1、IP协议简介 IP协议是TCP/IP协议族的基石,它为上层提供无状态、无连接、不可靠的服务,也是Socket网络编程的基础之一。 IP协议特点: 无状态:指IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送,传输,接收都是相互独立的。这种服务最大缺点是…

Web5到底是什么?Web4去哪了?

Web3咱还没搞明白,Web3还没有完全的投入应用 ,这Web5怎么就来了? 在今年6月召开的加密盛宴Consensus上,推特创始人比特必信徒杰克多西,首次提出全新Web5的概念,并公开呛声Web3的VC们可以洗洗睡了&#xff…

【Lilishop商城】No2-7.确定软件架构搭建六(本篇包括延时任务,会用到rocketmq、redis)

仅涉及后端,全部目录看顶部专栏,代码、文档、接口路径在: 【Lilishop商城】记录一下B2B2C商城系统学习笔记~_清晨敲代码的博客-CSDN博客 全篇只介绍重点架构逻辑,具体编写看源代码就行,读起来也不复杂~ 谨慎&#xf…

使用python进行贝叶斯统计分析

本文讲解了使用PyMC3进行基本的贝叶斯统计分析过程. 最近我们被客户要求撰写关于贝叶斯统计分析的研究报告,包括一些图形和统计输出。 # 导入 import pymc3 as pm # python的概率编程包 import numpy.random as npr # numpy是用来做科学计算的 import matplotlib…

cubeIDE开发,结合图片取模工具,stm32程序在LCD显示图片

一、图片取模工具(imag2lcd) 我们前面将汉字显示时说过,嵌入式LCD屏显示就是通过LCD屏幕数据接口给每个屏幕像素给出一个颜色值实现实时渲染显示出来。只不过文字显示时,给出的是一个二进制点阵,然后根据二进制中的“1…

Java文件输入输出(简单易懂版)

文章目录写在前面文件输入文件输出写在前面 在Java中不论文件输入还是输出都会用到File类,参考这篇文章Java File类(文件操作类)详解这里会涉及到绝对路径、相对路径、路径中的斜杠“/”和反斜杠“\”,有些小伙伴可能不熟悉&…

数据结构—B树、B+树

文章目录B树B树的特点为什么要有B树:红黑树和B树比较B树B树的特点B树构建过程查询时数据提供数据磁盘向cpu推送数据B树的优点总结为什么要有B树:B树用途:为什么要有B树:B树用途:———————————————————…