网站设计排行榜前十,海外营销策略,东莞学做网站,外贸网站哪个好图片展示: 背景需求:
2022年9-2023年1月我去过小3班带班#xff0c;但是没有在这个班级投放过学具#xff0c;本周五是我在本学期第一次带中3班#xff0c;所以提供了一套学号描字帖。先让我把孩子的名字和脸混个眼熟。
之前试过一页两套名字的纸张切割方法有#xff1a;… 图片展示: 背景需求:
2022年9-2023年1月我去过小3班带班但是没有在这个班级投放过学具本周五是我在本学期第一次带中3班所以提供了一套学号描字帖。先让我把孩子的名字和脸混个眼熟。
之前试过一页两套名字的纸张切割方法有
1、A4横版横向两长条 切割线在短边中线左右切割 2、A4竖版横向两个长方块 切割线在长边中线左右切割 本次再设计一款板式
3、A4竖版纵向两长条 切割线在短边中线上下切割 材料准备
描字写学号、名字非常实用所以我已经写了很多很多个WORD模板了。
为了区分这一次又建了一个文件夹 202301013中3班学号描字帖。 包含素材 WORD模板样式 EXCEL名单样式 代码展示:
1.py位置 2.代码段
作者阿夏
时间2023年10月13日
A4竖版两人竖2条每人2列7行import xlwt
import xlrd
import os
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# hsint(input(一行2个需要几行1行还有6行是表格\n))print(----------第1步新建一个临时文件夹------------)
# 新建一个”装N份word和PDF“的文件夹
os.mkdir(rC:\Users\jg2yXRZ\OneDrive\桌面\描字帖\零时Word)wb xlrd.open_workbook(rC:\Users\jg2yXRZ\OneDrive\桌面\描字帖\20231013中3班学号描字帖\学生名单.xlsx) #打开文件并返回一个工作蒲对象。open_workbook可以点进去看看函数里面的参数的含义之类的很详细英语不好的可以百度翻译翻译出来的结果差不多。
sheetwb.sheet_by_index(0) #通过索引的方式获取到某一个sheet现在是获取的第一个sheet页也可以通过sheet的名称进行获取sheet_by_name(sheet名称)
col1sheet.col_values(0)# 学号
col3sheet.col_values(1)# 班级col2sheet.col_values(2)# 名字
numlen(col1)-1 # 第一列去掉第一行
# for z in range(0,num): #多少份
# list[]
# nb[]
# nb2[]
numberall[]
# 生成 基本组“学号名字“
for num in range(1,len(col1)):name00col2[num] #吧学号和名字拼在一起 张三numberall.append(name00)for x1 in range(2):numbercol3[num]numberall.append(number)# print(name00)for x2 in range(12):numberint(col1[num]) #吧学号和名字拼在一起 张三numberall.append(number)for x3 in range(2):b numberall.append(b)
print(numberall)
# 一个数组【】# 切开25人 一人16个数字
list1[]
for fk in range(int(len(numberall)/17)): # 一共16格子list1.append(numberall[fk*17:fk*1717])
# print(list1)
# print(len(list1))list[]
for r in range(int(len(list1)/2)):list.append(list1[r*2:r*22])
print(list)
print(len(list))# 25个数组【】bg[]
a00
bg.append(a)
for x in range(1,8):for y in range(2):z2{}{}.format(x,y)bg.append(z2)
print(bg)
# [00, 10, 11, 20, 21, 30, 31, 40, 41, 50, 51, 60, 61]for n in range(int(num/2)):doc docx.Document(rC:\Users\jg2yXRZ\OneDrive\桌面\描字帖\20231013中3班学号描字帖\中3班描字帖.docx)for b in range(2):table doc.tables[b] # print(p)for t in range(len(bg)): # 0-17# print(list[t])ppint(bg[t][0]) # 提取表格bg里面每个元素的第0个数字单元格X坐标 t索引数字qqint(bg[t][1]) klist[n][b][t]# ffont[t] print(pp,qq,k)runtable.cell(pp,qq).paragraphs[0].add_run(str(k)) # 在单元格0,0(第1行第1列)输入第0个名字run.font.name 楷体 #输入时不字体run.font.size Pt(60) #输入字体大小80或68号run.boldTruerun.font.color.rgb RGBColor(200,200,200) #设置颜色10%黑色深灰r run._elementr.rPr.rFonts.set(qn(w:eastAsia), 楷体 )#将输入语句中的中文部分字体变为华文行楷table.cell(pp,qq).paragraphs[0].alignment WD_PARAGRAPH_ALIGNMENT.CENTER #居中doc.save(rC:\Users\jg2yXRZ\OneDrive\桌面\描字帖\零时Word\{}.docx.format(%02d%n))#保存为XX学号的零时word from docx2pdf import convert# docx 文件另存为PDF文件inputFile rC:\Users\jg2yXRZ\OneDrive\桌面\描字帖\零时Word\{}.docx.format(%02d%n)# 要转换的文件已存在outputFile rC:\Users\jg2yXRZ\OneDrive\桌面\描字帖\零时Word\{}.pdf.format(%02d%n) # 要生成的文件不存在# 先创建 不存在的 文件f1 open(outputFile,w)f1.close()# 再转换往PDF中写入内容convert(inputFile, outputFile)from docx2pdf import convertprint(----------第4步把都有PDF合并为一个打印用PDF------------)import os
from PyPDF2 import PdfFileMerger
target_path C:/Users/jg2yXRZ/OneDrive/桌面/描字帖/零时Word
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 PdfFileMerger()
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(C:/Users/jg2yXRZ/OneDrive/桌面/描字帖/打印合集中3班描字帖练习册({}份.pdf.format(num))
file_merger.close()
# doc.Close()# # print(----------第5步删除临时文件夹------------)
import shutil
shutil.rmtree(C:/Users/jg2yXRZ/OneDrive/桌面/描字帖/零时Word) #递归删除文件夹即删除非空文件夹
终端运行
不用输入参数直接运行 成果位置 字号变小65改60 学具裁切 幼儿操作
时间2023年10月13日 下午1420-1435
班级中3
人数23人