
背景需求:
最近开学,幼儿园都开始做个别化区角,所以数独、涂色一类的学具销量增加。
凌晨有一个订单购买“数字像素图9图”

对方说不需要上下的文字

【教学类-13-08】20250122《9图竖版数字色块图-5*7*8-A4竖版-不切+有题卡序号和答案序号+从左向右》代码优化-优快云博客文章浏览阅读789次,点赞13次,收藏28次。【教学类-13-08】20250122《9图竖版数字色块图-5*7*8-A4竖版-不切+有题卡序号和答案序号+从左向右》代码优化
https://blog.youkuaiyun.com/reasonsummer/article/details/145321891?spm=1011.2415.3001.5331
因此我把模版里面的页眉、页脚文字删除,但空格保留(否则就格子动了)



'''
数字像素图(A4竖板5*7 9个表)没有文字
作者:星火讯飞、阿夏
20250226修改
'''
import os,random,time
num=30
# int(input('生成多少份\n'))
Number=9
# int(input('抽取几个数字(10个中取9个=9个)\n'))
size=25
# float(input('数字大小(最大28,建议25)\n'))
weight=5
# int(input('表格宽度(5格)\n'))
height=7
# int(input('表格长度高度(7格)\n'))
print('----------第1步:提取所有图案------------')
import random
# m数字位置上的数字
print('----------第2步:新建一个临时文件夹------------')
# 新建一个”装N份word和PDF“的文件夹
path=r'C:\Users\jg2yXRZ\OneDrive\桌面\20251118数字像素图'
ten_path=path+r'\零时Word'
os.makedirs(ten_path,exist_ok=True)
print('----------第3步:随机抽取8个不重复的图案 ------------')
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
for z in range(0,num): #多少份
m=str(random.randint(0,4)) # 涂色部分数字和非涂色部分数字不能一样 0,1,2,3,4 共5个(小)
n=str(random.randint(5,9)) # 涂色部分数字和非涂色部分数字不能一样 5,6,7,8,9 工5个(大)
N=[]
def same():
for r in range(0,len(nn)):
nn1=int(nn[r][0])
nn2=int(nn[r][1])
for nnn in range(nn1,nn2):
N.append(n)
mm1=int(mm[r][0])
mm2=int(mm[r][1])
for mmm in range(mm1,mm2):
N.append(m)
# print(N)
# # 数字1 的坐标位置列表值(有勾
# nn=['06','04','04','04','03','06']
# mm=['02','01','01','01','03','00']
# same()
# 数字1 的坐标位置列表值(无勾)
nn=['07','04','04','04','04','07']
mm=['01','01','01','01','01','00']
same()
# 数字2 的坐标位置列表值
nn=['06','04','02','02','04','06']
mm=['03','01','03','01','03','00']
same()
# 数字3 的坐标位置列表值
nn=['06','04','02','04','02','06']
mm=['03','01','03','01','03','00']
same()
# 数字4 的坐标位置列表值
nn=['06','01','02','01','02','01','02','03','06']
mm=['01','01','01','01','01','01','04','01','00']
same()
# 数字5 的坐标位置列表值
nn=['06','02','04','04','02','06']
mm=['03','01','03','01','03','00']
same()
# 数字6 的坐标位置列表值
nn=['06','02','04','02','01','02','06']
mm=['03','01','03','01','01','03','00']
same()
# 数字7 的坐标位置列表值
nn=['06','04','04','04','04','06']
mm=['03','01','01','01','01','00']
same()
# 数字8 的坐标位置列表值
nn=['06','02','01','02','02','01','02','06']
mm=['03','01','01','03','01','01','03','00']
same()
# 数字9 的坐标位置列表值
nn=['06','02','01','02','04',&#