【教学类-22-02】20221210《八款字体的描字帖-4*4格整张-不用订书机》(大班主题《我是中国人-中国字》)

news2024/12/23 10:57:17

  成品样式:

48号字(适应2-3个名字的大小)

 44号字(适应4个名字大小(2-3个名字也可以用,字会稍微小))

 

 打印样式:

  

 背景需求:

观摩中3班做“描花体字”的本子的情景后,我有三个感悟

1、幼儿对样式不同的名字有一定的描画兴趣,特别是华文彩云空心字

2、因为忙着给孩子们打订书机钉子,没有详细看到每位幼儿(20人)的操作行为。

所以我希望轮到大1班玩8个字体描字帖时,难度提升

1、缩小字体大小——因为90%的孩子都会写名字了

2、增加书写数量——8个字变成16个字

3、不要用订书机——幼儿自己直接能做成本子。

4、制作本子后每一页名字都在页面上面,所以一些名字需要倒置(所以不能单纯使用单元格输入)

word表格设置

 横版 页边距:上下左右0.7CM

插入4*4,每个单元格高度宽度如下图

框线:3磅黑色实线、3磅黑色虚线、中间的一横位6磅黑色实线

 每个格子里面的字体大小

插入-形状-文本框,把文本框放在中间两行的位置上(一行4个),文本框的边框和填充都改为“空”

  把第二行的4个文本框里面的文字,都改成旋转180

所有形状框的字体号48,颜色浅灰、间距50

第二行第1个框用的字体是“黑体”

 第二行第2个框用的字体是“宋体”

 依次类推

以上是 “不同字体名字本子(大班)48.docx”的设置。

不同字体名字本子(大班)44.docx就是把字体大小,从48改成44(每个框点一下,全选文字,一个一个改字体大小)

EXCLE设置:

 表格放在第一个

代码发布:

生成2-3个名字的最佳字体大小:48

生成4个名字最佳字体大小:44

一个代码生成两个PDf合并文件


'''
作者:阿夏
时间:2022年12月10日
名称:大班描字帖,8个不同字体的学号名字({{}}导入)不需要剪开,直接做成小本子)
'''

import xlwt
import xlrd
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

from docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColor


print('----------第1步:从EXCEL里面提取学号和名字------------')
wb= xlrd.open_workbook(r"C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\学生名单.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(1)# 名字
num=len(col1)-1  # 第一列去掉第一行


list=[]
# 生成 基本组:“学号+名字“
for i in range(1,len(col1)):
    # for d in range(8):
    name='{}\n{}'.format ('%02d'%int(col1[i]),col2[i])     #吧学号和名字拼在一起, 01张三    
    # name='{}'.format (col2[i])     #吧学号和名字拼在一起, 01张三     
    list.append(name)    # 生成第一行信息['01张三 ],正好摆一行  
print(list)# 32个名字
# ['01\n张 三', '06\n李四光', '13\n王者荣耀', '29\n赵匡胤']


print('----------第2步:把提取的名字写入Word文本框------------')

f=[48,44]# 48号字体适合2-3名字,44适合4个名字
m=[3,4]# 3=3个名字,4=4个名字
for s in range(len(f)):
    # 新建一个”装N份word和PDF“的文件夹print('----------第1步:新建一个临时文件夹------------')
    os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\零时Word')
    for i in range(num):
        context = {
        "z1": list[i],
        "z2": list[i],
        "z3": list[i],
        "z4": list[i],
        "z5": list[i],
        "z6": list[i],
        "z7": list[i],
        "z8": list[i], 
        }
        doc = DocxTemplate(r'C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\不同字体名字本子(大班){}.docx'.format(f[s]))
        # doc = DocxTemplate(zpath+'不同字体名字本子(大班).docx')
        doc.render(context)
        # tpl.save(file_path+r"\{} .docx".format('%02d'%i))
        
        doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\零时Word\{}.docx'.format('%02d'%i))#保存为XX学号的零时word

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

        from docx2pdf import convert

        
    print('----------第4步:把都有PDF合并为一个打印用PDF------------')
        
    from PyPDF2 import PdfFileMerger
    target_path =  'C:/Users/jg2yXRZ/OneDrive/桌面/描字帖/零时Word'
    pdf_listt = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
    pdf_listt = [os.path.join(target_path, filename) for filename in pdf_listt]
    pdf_listt.sort()
    file_merger = PdfFileMerger()
    for pdf in pdf_listt:
        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/桌面/描字帖/(打印合集)大1班8个不同字体字帖({}号字适合{}个名字共{}人).pdf".format(f[s],m[s],num))
    file_merger.close()
    # doc.Close()

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

重点说明:

 重点:纯文本填入word形状文本框。

实际批量效果:

 每个人都是一张A4纸,没有跨页、名字也没有换行。

  

学具展示及制作:

(1)a4打印+剪白色边缘

(2)折出压痕(8个格子)

 (3)短边沿中线对折,中间剪一刀

(4)压一下,变成风扇状。

(5)贴边,描字、涂色装饰。

 感悟:

{{}}只引用的文字写入,所以格式要在Word里面设置,这有点麻烦,特别是48字号和44字号,每个文本框都是单独选中,更改大小。制作两份Word模板,并不边里。

后续再研究

 end

教学过程:

时间:2022年12月8日 15:00-15:30

班级:中3班

人数:22人

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

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

相关文章

【前沿技术RPA】 一文了解 UiPath 状态机 State Machine

🐋作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。 🐬个人主页:会敲键盘的肘子 🐰系列专栏:UiPath 🦀专栏简介:UiPath在传统的RPA(Robotic…

【流量回放探索】啄木鸟流量回放平台

啄木鸟流量回放平台 项目简介 本项目是基于RuoYi-Vue单应用版本流量回放引擎基于goreplay演示系统基于newbee-mall-api-go 如果你想从录制开始体验,需要搭建演示系统newbee-mall-api-go ,同时需要将gor 部署在演示系统服务中,搭建kafka以便…

[附源码]Python计算机毕业设计SSM基于技术的高校学生勤工俭学管理系统的设计与开发(程序+LW)

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

HBase

1 HBase存储结构 HMaster 1. 监控 RegionServer   2. 处理 RegionServer 故障转移   3. 处理元数据的变更   4. 处理 region 的分配或移除   5. 在空闲时间进行数据的负载均衡   6. 通过 Zookeeper 发布自己的位置给客户端 RegionServer 1. 负责存储 HBase 的实际数…

编写高质量代码 - 多线程和并发(2)

文章目录1. 使用线程异常处理器提升系统可靠性2. volatile不能保证数据同步3. 异步运算考虑使用Callable接口1. 使用线程异常处理器提升系统可靠性 我们要编写一个Socket应用,监听指定端口,实现数据包的接收和发送逻辑,这在早期系统间进行数据…

分布式计算MapReduce究竟是怎么一回事?

前言 如果要对文件中的内容进行统计,大家觉得怎么做呢?一般的思路都是将不同地方的文件数据读取到内存中,最后集中进行统计。如果数据量少还好,但是面对海量数据、大数据的场景这样真的合适吗?不合适的话,…

1560_AURIX_TC275_NMI Trap以及PMC

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 1. 连同上一次的笔记中最后一页,看得出来NMI的trap软件触发至少是有三种方法。 2. 后半页给出了trap发生的状态的清除操作寄存器。 前面的文字描述部分,几个trap是…

基于jsp+mysql+ssm公共交通失信人员管理系统-计算机毕业设计

项目介绍 本南昌公共交通失信人员管理系统主要包括系统用户管理模块、用户信息管理模块、处罚类型管理、失信人员管理、登录模块、和退出模块等多个模块, 本系统基于SSM(SpringSpringMVCMyBatis)框架,适用于毕业设计,采用javaweb,基于B/S模式,Myeclipse或者eclipse…

手把手教你---猿如意之八大高效利器使用

开篇之前我们可能要来了解一下,《猿如意》是CSDN为提高开发者工作效率,发布客户端和低代码平台产品——《猿如意》;记得第一次在接触猿如意实在今年八月份,之前使用过其他的工具,但是有利有弊,先说下为啥选…

趋势分析 | 零信任实践之关键技术解读

SmartX 趋势分享 SmartX 趋势分享由 SmartX 团队内部分享的权威机构市场报告、全球重要媒体文章精选整理而成。内容涉及现代数据中心相关产业趋势以及金融、医疗、制造等行业全球用户需求与实践前沿洞察。本期,我们分享一篇 Gartner 关于零信任实践策略的文章[1]&am…

[附源码]JAVA毕业设计校园快递联盟系统(系统+LW)

[附源码]JAVA毕业设计校园快递联盟系统(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

【大数据入门核心技术-Azkaban】(二)Azkaban核心架构

目录 一、核心架构 1、Relational Database(Mysql) 2、Azkaban Web Server 3、Azkaban Executor Server 二、三种运行模式 1、solo server mode 2、two server mode 3、multiple executor mode 一、核心架构 Azkaban架构由三部分构成: 1、Relational Databa…

【chatGPT免注册】openAI机器人直接访问,不需要注册的方法

最近,chat GPT可谓是火出圈了。但是这个服务在国内不可用,网上你能找到的教程无非是注册一个虚拟的手机号去接受短信,可就算你能注册成功,还是无法访问。 还有人说可以去某宝买一个账号,这是可以的,账号的确…

安卓玩机搞机技巧综合资源-----干掉手机广告 禁用 冻结 关闭内置软件【八】

接上篇 安卓玩机搞机技巧综合资源------如何提取手机分区 小米机型代码分享等等 【一】 安卓玩机搞机技巧综合资源------开机英文提示解决dm-verity corruption your device is corrupt. 设备内部报错 AB分区等等【二】 安卓玩机搞机技巧综合资源------EROFS分区格式 小米红米…

Java 并发编程(三)之synchronized

带着BAT大厂的面试问题去理解Synchronized 请带着这些问题继续后文,会很大程度上帮助你更好的理解synchronized。 Synchronized可以作用在哪里? 分别通过对象锁和类锁进行举例。Synchronized本质上是通过什么保证线程安全的? 分三个方面回答:加锁和释放…

微信群营销方式微信群建群营销案例

今天我们以小区微信群营销为例,聊一聊具体的步骤和流程: 1、社群的建立,就是如何找到合适的小区,建立小区专属社群?因此,终端在做小区社群营销之前,需要先对当地所有的潜在小区做一个综合性的分析和评估&a…

Github使用

第一步 配置邮箱: ssh-keygen -t rsa -C 283589579qq.com然后一路回车不用管。 如下: 查看生成文件: cd .ssh ls如下: id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。…

【Java开发】 Spring 10 :Spring Boot 自动配置原理及实现

用了这么久的 SpringBoot ,我们再来回顾一下它,本文介绍 Spring Boot 的自动配置,这是它区别于 Spring 的最大的点,本文的自动配置项目包含三个项目,建议拉取仓库里的代码进行实践:尹煜 / AutoConfigDemo …

kafka之ranger插件的一个坑

之前文章写过kafka的鉴权,以及集成ranger插件的配置使用。但真正在用起来后,发现里面有个坑,本文就来聊聊这个坑的情况以及排查过程。【问题现象】kafka在集成了ranger插件实现鉴权功能后,发现过一段时间后,controller…

Gaussian 计算静电云图确定吸附位点

计算背景: 利用高分子有机物等活性材料对有毒分子、原子、离子在真空、水溶液、有机溶液等环境下吸附,已是当今环境科学、矿物学、土壤化学等学科领域研究的热点。但如何确定最佳吸附位点以计算其吸附能就显得尤为重要。 现阶段多数物质的吸附均依据粒…