【教学类-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,一经查实,立即删除!

相关文章

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…

gitlab cicd问题整理

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

【计算机网络】什么是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. 连接管理 长连接与短连接 管线化连接…

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

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

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

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

【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;或者将它的刚体属性设置…

文件的基础

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

C语言-memcpy(不重复地址拷贝 模拟实现)

memcpy&#xff08;不重复地址拷贝&#xff09; 语法格式 在C语言中&#xff0c;memcpy 是一个标准库函数&#xff0c;用于在内存之间复制数据。它的原型定义在 <string.h> 头文件中。memcpy 的语法格式如下&#xff1a; c void *memcpy(void *destination, const voi…

健身·健康行业Web3新尝试:MATCHI

随着区块链技术进入主流&#xff0c;web3 运动已经开始彻底改变互联网&#xff0c;改写从游戏到金融再到艺术的行业规则。现在&#xff0c;MATCHI的使命是颠覆健身行业。 MATCHI是全球首个基于Web3的在线舞蹈健身游戏和全球首个Web3舞蹈游戏的发起者&#xff0c;注册于新加坡&a…

【JVM】(内存区域划分 为什么要划分 具体如何分 类加载机制 类加载基本流程 双亲委派模型 类加载器 垃圾回收机制(GC))

文章目录 内存区域划分为什么要划分具体如何分 类加载机制类加载基本流程双亲委派模型类加载器 垃圾回收机制&#xff08;GC&#xff09; 内存区域划分 为什么要划分 JVM启动的时候会申请到一整个很大的内存区域,JVM是一个应用程序,要从操作系统这里申请内存,JVM就需要根据,把…

【Leetcode-73.矩阵置零】

题目&#xff1a; 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2&…

如何写好Stable Diffusion的prompt

Stable Diffusion是一种强大的文本到图像生成模型&#xff0c;其效果在很大程度上取决于输入的提示词&#xff08;Prompt&#xff09;。以下是一些关于如何编写有效的Stable Diffusion Prompt的秘诀&#xff1a; 明确描述&#xff1a;尽量清晰地描述你想要的图像内容。使用具体…

2024全新返佣商城分销商城理财商城系统源码 全开源PHP+VUE源码

2023全新返佣商城分销商城理财商城系统源码 全开源PHPVUE源码 程序安装环境要求&#xff1a; nginx1.16 php7.2 mysql5.6 程序全开源PHPVUE源码 有需要测试的老铁&#xff0c;拿去测试吧

Linux_基础指令(一)

目录 1、ls指令 1.1 ls -l 1.2 ls -a 1.3 ls -i 2、pwd指令 3、cd指令 3.1 路径的概念 3.1.1 绝对路径 3.1.2 相对路径 3.2 cd ~ 3.3 cd - 4、touch指令 5、mkdir指令 6、删除系列的指指令 6.1 rmdir 6.2 rm 7、man指令 8、cp指令 9、move指令 结…

【Java】十大排序

目录 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 计数排序 桶排序 基数排序 冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的序列&#xff0c;依次比较两个元素&#xff0c;如果它们的顺序错误就把它们交换过来。遍历…

论文阅读_参数微调_P-tuning_v2

1 P-Tuning PLAINTEXT 1 2 3 4 5 6 7英文名称: GPT Understands, Too 中文名称: GPT也懂 链接: https://arxiv.org/abs/2103.10385 作者: Xiao Liu, Yanan Zheng, Zhengxiao Du, Ming Ding, Yujie Qian, Zhilin Yang, Jie Tang 机构: 清华大学, 麻省理工学院 日期: 2021-03-18…

东京旅行攻略:机票、交通、消费和看富士山

欢迎关注「苏南下」 在这里分享我的旅行和影像创作心得 分享一些最近从香港去日本东京的短期周末旅行体验。 1&#xff1a;香港飞东京需要4小时&#xff0c;非旺季往返的价格在2000元左右。去年五一假期&#xff0c;我提前了两个多月买的香港快运就是这个价&#xff0c;不算贵。…