【教学类-44-07】20240318 0-9数字描字帖 A4横版整页(宋体、黑体、文鼎虚线体、print dashed 德彪行书行楷)

部署运行你感兴趣的模型镜像

背景需求:

前文制作了三种字体的A4横版数字描字帖

【教学类-44-06】20240318 0-9数字描字帖 A4横版整页(宋体、黑体、文鼎虚线体)-优快云博客【教学类-44-06】20240318 0-9数字描字帖 A4横版整页(宋体、黑体、文鼎虚线体)https://blog.youkuaiyun.com/reasonsummer/article/details/136789438?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22136789438%22%2C%22source%22%3A%22reasonsummer%22%7D

3份PDF,每份PDF只有一页,文件名上可以看出它用的字体。但是打印起来不方便。

所以我想选5种阿拉伯数字字体,放在一个文件夹里(一个PDF有5张,)直接打印,看看哪一种字体比较适合幼儿做描字帖。

代码设计:


'''
制作一个16行37列的数字描字帖(黑体、宋体、文鼎体、print dashed ,德彪)
作者:AI对话大师,阿夏
时间:2024年3月17日
'''


from docx import Document
from docx import Document
from docx.shared import Pt
# 导入所需的模块
from docx.shared import RGBColor
import os
from docx.oxml import OxmlElement
from docx.oxml.ns import qn
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

# 读取Word文档

path=r'C:\Users\jg2yXRZ\OneDrive\桌面\数字1-10'
fontname=['宋体','黑体','AR StdKaiGDLB5 Md','德彪钢笔行书字库','Print Dashed']
fontcolor=['200','220','0','220','0']


doc = Document(path+r'\1-10数字描字帖.docx')

# 选择第一个表格进行演示
table = doc.tables[0]

# 获取表格的行数和列数
num_rows = len(table.rows)
num_cols = len(table.columns)

print("表格的行数为:", num_rows)
# 16行
print("表格的列数为:", num_cols)
# 37列

bg= []
for x in range(num_rows):
    for y in range(num_cols):
        bg.append('{}{}'.format('%02d'%x,'%02d'%y))
print(bg)

num=[]
for o in range(2):
    for i in range(0,10):
        for z in range(num_cols):
            num.append(i)


folder_path = path+r"\零时文件夹"
    # 检查文件夹是否存在
if not os.path.exists(folder_path):
    # 如果文件夹不存在,则新建文件夹
    os.makedirs(folder_path)

for ziti  in range(len(fontname)):
    
    doc = Document(path+r'\1-10数字描字帖.docx')
    for b in range(1):
        table = doc.tables[b] 
        # print(p)
        for t in range(len(bg)):    # 0-15
            # print(list[t])
                        
            pp=int(bg[t][0:2])     # 提取表格bg里面每个元素的第0个数字==单元格X坐标  t=索引数字
            qq=int(bg[t][2:4]) 
            k=int(num[t])
            # f=font[t]   

            # print(pp,qq,k)

            run=table.cell(pp,qq).paragraphs[0].add_run(str(k))    # 在单元格0,0(第1行第1列)输入第0个名字
            run.font.name =fontname[ziti]  #输入时不同字体
            run.font.size = Pt(28)  #输入字体大小80或68号
            # run.bold=True
            run.font.color.rgb = RGBColor(int(fontcolor[ziti]),int(fontcolor[ziti]),int(fontcolor[ziti])) #设置颜色黑体

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

    doc.save(folder_path+r'\{}.docx'.format('%02d'%ziti))#保存为XX学号的零时word  

    from docx2pdf import convert
    # docx 文件另存为PDF文件
    inputFile = folder_path+r'\{}.docx'.format('%02d'%ziti)# 要转换的文件:已存在
    outputFile = folder_path+r'\{}.pdf'.format('%02d'%ziti)  # 要生成的文件:不存在
    # 先创建 不存在的 文件
    f1 = open(outputFile,'w')
    f1.close()
    # 再转换往PDF中写入内容
    convert(inputFile, outputFile)

    from docx2pdf import convert


print('----------第4步:把都有PDF合并为一个打印用PDF------------')

import os
from PyPDF2 import PdfMerger
target_path =  folder_path
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 = PdfMerger()
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(path+r"\(打印合集)五种字体 数字0-9({}份).pdf".format(len(fontname)))
file_merger.close()


# # print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree(folder_path) #递归删除文件夹,即:删除非空文件夹`




    # # AR StdKaiGDLB5 Md

结果发现:

把代码里的字体大小也改掉


'''
制作一个16行37列的数字描字帖(黑体、宋体、文鼎体、print dashed ,德彪)
作者:AI对话大师,阿夏
时间:2024年3月17日
'''


from docx import Document
from docx import Document
from docx.shared import Pt
# 导入所需的模块
from docx.shared import RGBColor
import os
from docx.oxml import OxmlElement
from docx.oxml.ns import qn
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

# 读取Word文档

path=r'C:\Users\jg2yXRZ\OneDrive\桌面\数字1-10'
fontname=['宋体','黑体','AR StdKaiGDLB5 Md','德彪钢笔行书字库','Print Dashed']
fontcolor=['200','220','0','220','0']
fontnum=['28','28','28','26','36']


doc = Document(path+r'\1-10数字描字帖.docx')

# 选择第一个表格进行演示
table = doc.tables[0]

# 获取表格的行数和列数
num_rows = len(table.rows)
num_cols = len(table.columns)

print("表格的行数为:", num_rows)
# 16行
print("表格的列数为:", num_cols)
# 37列

bg= []
for x in range(num_rows):
    for y in range(num_cols):
        bg.append('{}{}'.format('%02d'%x,'%02d'%y))
print(bg)

num=[]
for o in range(2):
    for i in range(0,10):
        for z in range(num_cols):
            num.append(i)


folder_path = path+r"\零时文件夹"
    # 检查文件夹是否存在
if not os.path.exists(folder_path):
    # 如果文件夹不存在,则新建文件夹
    os.makedirs(folder_path)

for ziti  in range(len(fontname)):
    
    doc = Document(path+r'\1-10数字描字帖.docx')
    for b in range(1):
        table = doc.tables[b] 
        # print(p)
        for t in range(len(bg)):    # 0-15
            # print(list[t])
                        
            pp=int(bg[t][0:2])     # 提取表格bg里面每个元素的第0个数字==单元格X坐标  t=索引数字
            qq=int(bg[t][2:4]) 
            k=int(num[t])
            # f=font[t]   

            # print(pp,qq,k)

            run=table.cell(pp,qq).paragraphs[0].add_run(str(k))    # 在单元格0,0(第1行第1列)输入第0个名字
            run.font.name =fontname[ziti]  #输入时不同字体
            run.font.size = Pt(int(fontnum[ziti]))  #输入字体大小80或68号
            # run.bold=True
            run.font.color.rgb = RGBColor(int(fontcolor[ziti]),int(fontcolor[ziti]),int(fontcolor[ziti])) #设置颜色黑体

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

    doc.save(folder_path+r'\{}.docx'.format('%02d'%ziti))#保存为XX学号的零时word  

    from docx2pdf import convert
    # docx 文件另存为PDF文件
    inputFile = folder_path+r'\{}.docx'.format('%02d'%ziti)# 要转换的文件:已存在
    outputFile = folder_path+r'\{}.pdf'.format('%02d'%ziti)  # 要生成的文件:不存在
    # 先创建 不存在的 文件
    f1 = open(outputFile,'w')
    f1.close()
    # 再转换往PDF中写入内容
    convert(inputFile, outputFile)

    from docx2pdf import convert


print('----------第4步:把都有PDF合并为一个打印用PDF------------')

import os
from PyPDF2 import PdfMerger
target_path =  folder_path
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 = PdfMerger()
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(path+r"\(打印合集)五种字体 数字0-9({}份).pdf".format(len(fontname)))
file_merger.close()


# # print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree(folder_path) #递归删除文件夹,即:删除非空文件夹`

打印出来看看效果吧(灰度是否让幼儿看得清,字体是否太小等)

A4整页效果

放大看,各类书写的优势劣势

宋体

优势:常见字体

劣势:字体有粗线细线组合,不是等粗的。

黑体

优势:等粗,黑色明显(推荐字体)

劣势:1这个字有一拐,

文鼎标楷虚线国字体

优势:是虚线字体

劣势:1和7有钩,2有波浪线, 字体样式与“幼儿用书写练习本”的手写字体不同。此外文鼎虚线的虚线是点点虚线,不是横线虚线,看上去虚线不清晰。

德彪行书行楷

优势:字体近似“幼儿用书写练习本”的手写字体

劣势:字体占格子的空间大(上下有大量白色空边),描字很小

print dashed

优势:比较明显的虚线字体,横线虚线(推荐字体)

劣势:1有钩,所有字体都是比较垂直的,圆弧的,与“幼儿用书写练习本”的手写字体有差异。

总结:

分析后,我个人感觉实线字体“黑体”虚线字体“print dashed,比较适合作为“幼儿用数字练习簿”的替代字体。

教学过程:

虽然打印的五款字体,有的纸张打印歪了,但是已经打印了,总要用掉,才不浪费

时间:2024年3月21日

班级:中4班

人数:26人(10人选择)

对半剪开(37列,左侧18列或19列,右侧18列或19列)

感悟:

由于五张数字贴(包0-9)裁剪后也只有10张,但幼儿有26人,所以本次写字活动中,还混合了“幼儿园数字练习簿(150像素图片打印)”一起使用。

【教学类-44-08】20240319 “(幼儿用)数字练习簿1.0”(A4版 图片分辨率150jpg)-优快云博客文章浏览阅读464次,点赞8次,收藏2次。【教学类-44-08】20240319 “(幼儿用)数字练习簿1.0”(A4版 图片分辨率150jpg)https://blog.youkuaiyun.com/reasonsummer/article/details/136852574?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22136852574%22%2C%22source%22%3A%22reasonsummer%22%7D

1、幼儿字帖需要“数字模版”

虽然文字字号小,数字多,但因为有全部是清晰的灰色数字,所以幼儿“描画”很方便,选了这款字帖的孩子普遍都“画”了很多行。写的非常认真专注。

2、幼儿渴望“多个数字练习”

一位女孩哭闹起来,因为轮到她选择纸张时,清晰的五款字体字帖已经拿完了,她非常不满:“我就想要她这种有1-9的数字,我不要(一页数字全是)4的那种!”

可是我是在拿不出,她很不开心,多次拒绝在剩余的“描字簿”纸张里选择,我只能让她把纸张反过来,自己写字和画画(有事可做)她嘀嘀咕咕,对于没有被满足的需求耿耿于怀。

3、幼儿评估自身能力

有3位孩子拿着字帖给我看,并表示

“我觉得这个好多,我可以带回家再写吗”“可以,折叠起来放口袋里带回家吧”

“我不想带回家,我想在学校写完!”“明天中午再写吧”

“老师,我写到这里可以吗,我手好酸”“可以,你已经完成一半了,很厉害!”

后续延伸:

第二天,一位女孩对我说:“昨天你给我的写数字的纸,我在家里写完了!”

我给她一个大拇指:“你太认真了,数字作业都完成了!”

“嗯,我自己写的,没有让爸爸妈妈叫我!”她自豪地说。

感悟:

1、还是为幼儿提供不同字体、不同字号的打印数字,可以留1-2行的空格,其他还是需要有数字模版的。

2、幼儿用数字描字簿,尽量不要用扫描的图片,而是制作Word单元格,然后将某些手写体汉字扫描成高清图片,抠像成png图片,然后插入单元格里,确保线条边缘清晰,不模糊。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿夏reasonsummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值