朝阳网络推广,网站建设及优化心得体会,做网站还有用,wordpress ajax文章作品展示#xff1a; 背景需求#xff1a;
设计了纸尺的基本模板
【教学类-34-01】20240130纸尺1.0 #xff08;A4横版5条#xff0c;刻度25*5125CM#xff09;-CSDN博客文章浏览阅读194次#xff0c;点赞5次#xff0c;收藏5次。【教学类-34-01】20240130纸尺1.0 背景需求
设计了纸尺的基本模板
【教学类-34-01】20240130纸尺1.0 A4横版5条刻度25*5125CM-CSDN博客文章浏览阅读194次点赞5次收藏5次。【教学类-34-01】20240130纸尺1.0 A4横版5条刻度25*5125CMhttps://blog.csdn.net/reasonsummer/article/details/135960763?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135960763%22%2C%22source%22%3A%22reasonsummer%22%7D
但我还想在5个纸条上加一个图案以免幼儿操作时搞混 素材准备 尺子的word模板制作相当复杂各种线条隐藏合并填充灰色o(╥﹏╥)o 重点说明 代码展示 目的
1、2.0纸尺A4 5条 有图案
2、作者阿夏
时间2024年1月31日import os
numint(input(请输入几份\n))
# 做一份尺子的模板jc25
# 一行最多26
h5
# 一行0-25 25-50# 每份插入一个符号以免搞错
print(----------第0步符号------------)patho[☆,□,○,◇,△,⊕,☼,☺,☏,◎,⊿,√, ×,☑,☹,☺,☼,♫,❀,❤,✉,✄,✈,♘,♕,♔,☀,☉,☋,☁,☂,☽,♤,♡,♢,♧]print(----------第1步提取数字------------)#
all[]
for z in range(h):for i in range(jc*z,jc*(z1)1):all.append(str(i)) print(all)
print(len(all))
# 25 50 75 100出现两次 5条一共129CM# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50, 51,
# 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125]# 分组
list[]
for l in range(int(len(all)/(jc1))):list.append(all[l*(jc1):l*(jc1)(jc1)])
print(list)
print(len(list))bg1[]
for x in range(1,2):for y in range(1,(jc1)*2,2): # 因为第一行和第二行是斜角错开的所以格子要翻倍# if %03d%y053:# pass# else:bg1.append({}{}.format(%02d%x,%02d%y))print(bg1)
print(len(bg1))
# # [0101, 0103, 0105, 0107, 0109, 0111, 0113, 0115, 0117, 0119, 0121, 0123, 0125, 0127, 0129, 0131, 0133, 0135, 0137, 0139, 0141, 0143, 0145, 0147, 0149]
# # 25bg2[0202]# # # print(----------第2步新建一个临时文件夹------------)
# # # # # 新建一个”装N份word和PDF“的文件夹
# os.mkdir
imagePath1rC:\Users\jg2yXRZ\OneDrive\桌面\尺子\零时Word
if not os.path.exists(imagePath1): # 判断存放图片的文件夹是否存在os.makedirs(imagePath1) # 若图片文件夹不存在就创建print(----------第2步制作尺子模板 ------------)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
import randomimport os,time
import docx
from docx import Document
from docx.shared import Inches,Cm,Pt
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qnfrom docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColorfor nn in range(0,num): # 4doc Document(rC:\Users\jg2yXRZ\OneDrive\桌面\尺子\尺子.docx)for b in range(h): # 共有2个表格 table doc.tables[b] # 一共有2个表格for tt in range(len(bg1)): # 26个ppint(bg1[tt][0:2]) qqint(bg1[tt][2:4]) # print(p) kstr(list[b][tt]) # 每个坐标里面插入一个☉ print(pp,qq,k) # 图案符号的字体、大小参数runtable.cell(pp,qq).paragraphs[0].add_run(k) # 在单元格0,0(第1行第1列)输入第0个图图案run.font.name 黑体#输入时默认华文彩云字体# run.font.size Pt(46) #输入字体大小默认30号 换行一页一份大卡片run.font.size Pt(14) #是否加粗run.font.color.rgb RGBColor(0,0,0) #数字小颜色深0-255run.boldTrue# paragraph.paragraph_format.line_spacing Pt(180) #数字段间距r run._elementr.rPr.rFonts.set(qn(w:eastAsia), 黑体)#将输入语句中的中文部分字体变为华文行楷table.cell(pp,qq).paragraphs[0].alignment WD_PARAGRAPH_ALIGNMENT.CENTER #居中 for tt2 in range(len(bg2)): # 26个pp2int(bg2[tt2][0:2]) qq2int(bg2[tt2][2:4]) # print(p) k2str(patho[nn]) # 每个坐标里面插入一个☉ print(pp2,qq2,k2) # 图案符号的字体、大小参数runtable.cell(pp2,qq2).paragraphs[0].add_run(k2) # 在单元格0,0(第1行第1列)输入第0个图图案run.font.name 黑体#输入时默认华文彩云字体# run.font.size Pt(46) #输入字体大小默认30号 换行一页一份大卡片run.font.size Pt(50) #是否加粗run.font.color.rgb RGBColor(0,0,0) #数字小颜色深0-255run.boldTrue# paragraph.paragraph_format.line_spacing Pt(180) #数字段间距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%nn)) # time.sleep(1)from docx2pdf import convert# docx 文件另存为PDF文件inputFile rC:/Users/jg2yXRZ/OneDrive/桌面/尺子/零时Word/{}.docx.format(%02d%nn) # 要转换的文件已存在outputFile rC:/Users/jg2yXRZ/OneDrive/桌面/尺子/零时Word/{}.pdf.format(%02d%nn) # 要生成的文件不存在# 先创建 不存在的 文件f1 open(outputFile, w)f1.close()# 再转换往PDF中写入内容convert(inputFile, outputFile)time.sleep(1)print(----------第4步把都有PDF合并为一个打印用PDF------------)# 多个PDF合并CSDN博主「红色小小螃蟹」https://blog.csdn.net/yangcunbiao/article/details/125248205
import os
from PyPDF2 import PdfMerger
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 PdfMerger()
for pdf in pdf_lst:print(pdf)file_merger.append(pdf)
file_merger.write(C:/Users/jg2yXRZ/OneDrive/桌面/尺子/打印合集长尺2.0有图案{}人共{}张.pdf.format(num,int(num)))
file_merger.close()
# doc.Close()# print(----------第5步删除临时文件夹------------)
import shutil
shutil.rmtree(C:/Users/jg2yXRZ/OneDrive/桌面/尺子/零时Word) #递归删除文件夹即删除非空文件夹o 终端输入 作品展示 纸尺做好了还缺个地方写学号 修改word模板后再次运行代码 OK了开学了给中4班的孩子们玩一玩测量