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

背景需求:

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

【教学类-44-06】20240318 0-9数字描字帖 A4横版整页(宋体、黑体、文鼎虚线体)-CSDN博客【教学类-44-06】20240318 0-9数字描字帖 A4横版整页(宋体、黑体、文鼎虚线体)https://blog.csdn.net/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=Truerun.font.color.rgb = RGBColor(int(fontcolor[ziti]),int(fontcolor[ziti]),int(fontcolor[ziti])) #设置颜色黑体r = run._elementr.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 convertprint('----------第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=Truerun.font.color.rgb = RGBColor(int(fontcolor[ziti]),int(fontcolor[ziti]),int(fontcolor[ziti])) #设置颜色黑体r = run._elementr.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 convertprint('----------第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) #递归删除文件夹,即:删除非空文件夹`

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

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

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

相关文章

将VSCode添加至右键的菜单栏

懒得bb,直接转发别人的博客,链接 但是我在win11上面弄了之后,除了文件夹其他格式都生效了,只需要在这个路径HKEY_CLASSES_ROOT\Directory\shell重复上面的操作,看Directory就知道是文件夹

担忧关于ChatGPT潜在风险的声音正在增强,但暂停人工智能是否明智?

深度学习算法的风险与挑战:ChatGPT的潜在风险引发关注 引言 随着人工智能技术的快速发展,特别是像ChatGPT这样的大型语言模型的广泛应用,人们对其潜在风险的关注也在不断升温。本文将探讨这些风险,并分析是否应该暂停AI的发展。…

事务、并发、锁机制的实现

配置全局事务 DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: mydb,USER:root,PASSWORD:pass,HOST:127.0.0.1,PORT:3306,ATOMIC_REQUESTS: True, # 全局开启事务,绑定的是http请求响应整个过程# (non_atomic_requests可局部实现不让事务控制)} } …

stable diffusion webui 搭建和初步使用

官方repo: GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI 关于stable-diffusion的介绍:Stable Diffusion|图解稳定扩散原理 - 知乎 一、环境搭建和启动 准备在容器里面搞一下 以 ubuntu22.04 为基础镜像,新建…

UnityShader(十六)凹凸映射

前言: 纹理的一种常见应用就是凹凸映射(bump mapping)。凹凸映射目的就是用一张纹理图来修改模型表面的法线,让模型看起来更加细节,这种方法不会改变模型原本的顶点位置(也就是不会修改模型的形状&#xf…

数据结构之顺序存储-顺序表的基本操作c/c++(创建、初始化、赋值、插入、删除、查询、替换、输出)

学习参考博文&#xff1a;http://t.csdnimg.cn/Qi8DD 学习总结&#xff0c;同时更正原博主在顺序表中插入元素的错误。 数据结构顺序表——基本代码实现&#xff08;使用工具&#xff1a;VS2022&#xff09;&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include <stdi…

uniapp canvas文字和元素居中

文字居中&#xff1a;ctx.textAlign "center"; 元素居中&#xff1a;ctx.arc(screenWidth / 2, 122, 40, 0, 2 * Math.PI); ctx.arc()的x轴为当前屏幕的宽度/2&#xff1b; let screenWidth 540; let screenHeight 960; // 头像 if (photoimg) {ctx.setFillSty…

gitlab cicd问题整理

1、docker设置数据目录&#xff1a; 原数据目录磁盘空间不足&#xff0c;需要更换目录&#xff1a; /etc/docker/daemon.json //写入/etc/docker/daemon.json {"data-root": "/data/docker" } 2、Dockerfile中ADD指令不生效 因为要ADD的文件被.docker…

指南:在各主流操作系统上安装与配置Apache Tomcat

指南&#xff1a;在各主流操作系统上安装与配置Apache Tomcat Apache Tomcat作为一款广受欢迎的开源Java Servlet容器&#xff0c;为用户提供了一个纯Java环境下的Web服务器和Servlet容器。本文将详细介绍如何在不同的操作系统上安装Apache Tomcat&#xff0c;并进行基本的配置…

【计算机网络】什么是http?

​ 目录 前言 1. 什么是HTTP协议&#xff1f; 2. 为什么使用HTTP协议&#xff1f; 3. HTTP协议通信过程 4. 什么是url&#xff1f; 5. HTTP报文 5.1 请求报文 5.2 响应报文 6. HTTP请求方式 7. HTTP头部字段 8. HTTP状态码 9. 连接管理 长连接与短连接 管线化连接…

smartmontools-5.43交叉编译Smartctl

嵌入式系统的sata盘经常故障&#xff0c;需要使用smatctl工具监控和诊断sata故障。 1. 从网上下载开源smartmontools-5.43包。 2. 修改makefile进行交叉编译。 由于软件包中已经包含Makefile.am&#xff0c;Makefile.in。直接运行 automake --add-missing 生成Makefile。 3.…

自动部署SSL证书到阿里云腾讯云CDN

项目地址&#xff1a;https://github.com/yxzlwz/ssl_update 项目简介 目前&#xff0c;自动申请和管理免费SSL证书的项目有很多&#xff0c;如个人正在使用的 acme.sh。然而在申请后&#xff0c;如果我们的需求不仅限于服务器本地的使用&#xff0c;证书的部署也是一件麻烦事…

Gin 框架中实现路由的几种方式介绍

本文将为您详细讲解 Gin 框架中实现路由的几种方式&#xff0c;并给出相应的简单例子。Gin 是一个高性能的 Web 框架&#xff0c;用于构建后端服务。在 Web 应用程序中&#xff0c;路由是一种将客户端请求映射到特定处理程序的方法。以下是几种常见的路由实现方式&#xff1a; …

JavaScript | 检测文档在垂直方向已滚动的像素值用pageYOffset在webstorm上显示弃用了,是否应该继续使用?还是用其他替代?

在学习JavaScript的时候&#xff0c;深入学习时会遇到一些实际案例需要检测文档在垂直方向已滚动的像素值。 例如&#xff0c;当前页面内容很多&#xff0c;我想要滚动鼠标滑轮或者拖拽滚动条来浏览网页下面的内容。这时候一动滚动条&#xff0c;一些绝对固定的盒子却想要随着…

python图形化编程turtle小乌龟

文章目录&#xff1a; 一&#xff1a;导入包&#xff08;常用的&#xff09; 二&#xff1a;布局 1.设置世界坐标系 2.窗体 3.画布屏幕screen 三&#xff1a;线条画笔海龟 1.运动 2.样式 3.外观 4.其他 四&#xff1a;颜色 五&#xff1a;文字 六&#xff1a;图…

【Kubernetes】k8s删除master节点后重新加入集群

目录 前言一、思路二、实战1.安装etcdctl指令2.重置旧节点的k8s3.旧节点的的 etcd 从 etcd 集群删除4.在 master03 上&#xff0c;创建存放证书目录5.把其他控制节点的证书拷贝到 master01 上6.把 master03 加入到集群7.验证 master03 是否加入到 k8s 集群&#xff0c;检查业务…

Unity触发器的使用

1.首先建立两个静态精灵&#xff08;并给其中一个物体添加"jj"标签&#xff09; 2.添加触发器 3.给其中一个物体添加刚体组件&#xff08;如果这里是静态的碰撞的时候将不会触发效果&#xff0c;如果另一个物体有刚体可以将它移除&#xff0c;或者将它的刚体属性设置…

c++pair的用法

pair简单来说就是可以存储两种类型数据的一个类&#xff0c;其内部是使用模板实现的&#xff0c;所以可以指定其内部的类型。 pair在#include <utility> pair的构造 pair<int, string> p1({ 1,"张三" });pair<int, string> p2;pair<int, str…

文件的基础

一、文件 什么是文件 文件流&#xff1a; 一、1、文件的相关操作 创建文件的三种方式&#xff1a; public class FileCreate {public static void main(String[] args) {}//方式1 new File(String pathname)Testpublic void create01() {String filePath "e:\\news1.…

Qt源码分析: QEventLoop实现原理

QEventLoop屏蔽了底层消息循环实现细节&#xff0c;向上提供了与平台无关的消息/事件循环。 本文拟对Windows系统下QEventLoop的实现原理予以分析。 注1&#xff1a;限于研究水平&#xff0c;分析难免不当&#xff0c;欢迎批评指正。 注2&#xff1a;文章内容会不定期更新。 …