背景需求:
我一直想把 “(幼儿用)数字练习簿”的内容复刻出来——这里面的字体始终找不到,是一种已经做成图片的手写数字字体
素材准备:
1、买了一本(幼儿用)数字练习簿,把每一页扫描
测量本子大小
本子长宽:25.8CM*18.5CM,比A4纸小
查看打印纸尺寸,发现并没有正好大小的打印纸(我园常用的A4,少量有A3、B5),其他纸型号也没有。
所以我将先试试将已扫描的字帖图片写入A4大小的纸张。
2、纸张模板
3、将彩色图片变成黑白图片,提升亮度
'''
目的,制作《幼儿用数字描字簿》整本A4
作者:AI对话大师
时间:2024年3月19日
'''
from PIL import Image, ImageEnhance, ExifTags
import os
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20240116幼儿用数字练习簿'
# 创建新建的234文件夹
new_folder = os.path.join(path, '01黑白图片')
if not os.path.exists(new_folder):
os.makedirs(new_folder)
# 读取原始图片文件夹内的所有图片
folder_path = os.path.join(path, '00原始图片')
for filename in os.listdir(folder_path):
if filename.endswith('.png') or filename.endswith('.jpg'):
# 打开图片
image_path = os.path.join(folder_path, filename)
img = Image.open(image_path)
# 纠正图片方向
for orientation in ExifTags.TAGS.keys():
if ExifTags.TAGS[orientation] == 'Orientation':
break
if img._getexif() is not None:
exif = dict(img._getexif().items())
if exif[orientation] == 3:
img = img.transpose(Image.ROTATE_180)
elif exif[orientation] == 6:
img = img.transpose(Image.ROTATE_270)
elif exif[orientation] == 8:
img = img.transpose(Image.ROTATE_90)
# 将彩色图片转换为灰色
gray_img = img.convert('L')
# 提升亮度
enhancer = ImageEnhance.Brightness(gray_img)
enhanced_img = enhancer.enhance(1.1) # 提升亮度
# # 提升对比度
# enhancer = ImageEnhance.Contrast(gray_img)
# enhanced_img = enhancer.enhance(4.0) # 提升对比度
# 保存图片到新建的01黑白图片文件夹内
new_image_path = os.path.join(new_folder, filename)
enhanced_img.save(new_image_path)
print('图片处理完成,结果已保存到01黑白图片文件夹内。')
扫描切割时,图案可能会倾斜,留边,
4、用PS把每张图片的边缘修成白色。
把图片修白后,把文件名增加PS字样,以免再次生成时,修过的图片被覆盖(也可直接将00原始图片修图)
5、将图片导入docx模板,然后批量生成单页的A4字体
代码展示:
print('------2、黑白数字贴图片写入word模板,------')
from docx import Document
from docx.shared import Cm
from docx2pdf import convert
import os,time
# 读取111文件夹内234文件夹中的所有图片
image_folder =path+r'\01黑白图片(PS)'
images = [os.path.join(image_folder, img) for img in os.listdir(image_folder) if img.endswith('.jpg')]
print(images)
# 读取111文件夹内123.docx文件
docx_path =path+r'\幼儿用数字练习簿.docx'
doc = Document(docx_path)
table = doc.tables[0] # 获取第一个表格
# 保存处理后的Word文档到“零食文件夹”中
output_folder = path + r'\零时文件夹'
# 读取output_folder文件夹里所有的docx文件
output_docs = [os.path.join(output_folder, doc) for doc in os.listdir(output_folder) if doc.endswith('.docx')]
print(output_docs)
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 插入图片到表格中并设置大小、居中
for idx, img_path in enumerate(images):
cell = table.cell(0, 0)
cell.paragraphs[0].add_run().add_picture(img_path, width=Cm(29.7), height=Cm(20.9))
cell.paragraphs[0].alignment = 1 # 居中
print(idx)
# 1,2,3
doc.save(os.path.join(output_folder, f'{idx}.docx'))
time.sleep(2)
print('------3、多个word合并保存为一个PDF------')
from PyPDF2 import PdfFileMerger
import os
# 指定output_folder路径
output_folder = path + r'\零时文件夹'
# 创建PdfFileMerger对象
pdf_merger = PdfFileMerger()
# 遍历output_folder中的所有docx文件
for filename in os.listdir(output_folder):
if filename.endswith('.docx'):
docx_path = os.path.join(output_folder, filename)
pdf_path = os.path.splitext(docx_path)[0] + '.pdf' # 对应的PDF文件路径
convert(docx_path) # 转换为PDF
pdf_merger.append(pdf_path) # 将PDF文件添加到PdfFileMerger中
time.sleep(1)
# 输出PDF文件路径
output_pdf = path + r'\幼儿用数字练习簿1.0.pdf'
# 写入合并后的PDF文件
with open(output_pdf, 'wb') as out:
pdf_merger.write(out)
# 关闭合并后的PDF文件
pdf_merger.close()
print('PDF合并完成。')
print('------4、删除零时文件夹------')
# 删除“零食文件夹”
time.sleep(2)
import shutil
# 删除output_folder文件夹
shutil.rmtree(output_folder) # 递归删除文件夹,即:删除非空文件夹
print('操作完成。')
先打印一份看看文字灰度是否适合幼儿书写,在制作2.0装订版本的,就是第一张纸包含P1、P2、P31、P32,第二章纸包含P3、P4、P29、P30
打印效果
作品效果
后面的数字题颜色比较深
结论:
用150分辨率扫描的图片还比较模糊,下次使用1200最高分辨率扫描数字作业本。观看黑白框格和数字的清晰度。
教学过程:
虽然打印的灰色数字簿文字很模糊,但是已经打印了,总要用掉,才不浪费
时间:2024年3月21日
班级:中4班
人数:26人
作品分析:
1、书写手势正确:
班里1/3孩子是二胎,而且女孩月龄大的人数较多,男孩月龄小的人数较多。幼儿在家中已经大量练习书写,因此所有幼儿的握笔都正确,甚至也能听到孩子们互相提示:你的头太低了,要抬起头写!
2、有书写经验,有观摩能力
基于幼儿练过的“数字字帖”,因此对于灰色的数字,1/5的孩子都能自己直接描画,或经过一段时间的观察同伴行为后,也开始尝试“描画”自己选择的数字(书写笔画不一定正确,只是灰线涂成黑色)
3、询问加减法。
有几位孩子选择的是“数字簿”最后的加减法,2位孩子一直问我:“这道题答案是多少?”问了几次后,我直接把正确的答案写完,让他们就描加法、减法题目上的已经打印的灰色数字。1位男孩能够自己做加法题,没有询问。
4、描画已有灰色数字
大部分都是将上半部分有痕迹的数字进行描画(有样板描画),而下部的空格,幼儿表示“我可以带回家写吗?”“这下面写什么?”。总体来说,中班幼儿还是适合描红,而不是自己“空”写数字。
后续调整:
本次活动中,我还用了5款打印字体的数字描字帖,
【教学类-44-07】20240318 0-9数字描字帖 A4横版整页(宋体、黑体、文鼎虚线体、print dashed 德彪行书行楷)-CSDN博客文章浏览阅读905次,点赞22次,收藏11次。【教学类-44-07】20240318 0-9数字描字帖 A4横版整页(宋体、黑体、文鼎虚线体、print dashed 德彪行书行楷)https://blog.csdn.net/reasonsummer/article/details/136790189?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22136790189%22%2C%22source%22%3A%22reasonsummer%22%7D
通过幼儿的操作情况分析,对比发现:
1、打印字体:
还是为幼儿提供不同字体、不同字号的打印数字,可以留1-2行的空格,其他还是需要有数字模版的。
2、图片字体
幼儿用数字描字簿,尽量不要用扫描的整页图片,而是制作Word单元格,然后将某些手写体汉字扫描成高清图片,抠像成png图片,然后插入单元格里,确保线条边缘清晰,不模糊。