【教学类-40-08】A4骰子纸模制作8.0(2.97CM嵌套骰子表格相连 一页7个 油墨打印A4铅画纸)

作品展示(一页7个骰子,表格连在一起,一行一个(2嵌套))

7523d68257c44e3babdb6572f1841452.png

背景需求:

制作三嵌套盒子并实践后,感觉套起来很紧,还是用2嵌套的铅画纸做骰子比较好,

【教学类-40-07】A4骰子纸模制作7.0(3CM嵌套骰子三嵌套条-油墨打印A4铅画纸)-CSDN博客文章浏览阅读321次,点赞3次,收藏4次。【教学类-40-07】A4骰子纸模制作7.0(3CM嵌套骰子三嵌套条-油墨打印A4铅画纸)https://blog.csdn.net/reasonsummer/article/details/135974684【教学类-40-05】A4骰子纸模制作5.0(3CM嵌套骰子6条+记录表带符号6条)-CSDN博客文章浏览阅读78次。【教学类-40-05】A4骰子纸模制作5.0(3CM嵌套骰子6条+记录表带符号6条)https://blog.csdn.net/reasonsummer/article/details/134325264【教学类-40-06】A4骰子纸模制作6.0(3CM嵌套骰子6条+记录表带符号6条 -油墨打印A4铅画纸)_打印机能打印铅画纸吗-CSDN博客文章浏览阅读82次。【教学类-40-06】A4骰子纸模制作6.0(3CM嵌套骰子6条+记录表带符号6条 -油墨打印A4铅画纸)_打印机能打印铅画纸吗https://blog.csdn.net/reasonsummer/article/details/134457972

但是一页6份 分开的骰子纸片,切割机裁切要好多刀,不注意就会切坏边缘,而幼儿自己裁剪边缘(去白边)时也剪得非常不整齐。

881b633702db4ffd9b40015c0da0b8bc.png

因此我想把多个骰子的纸模一起,只要切一刀就好,更大程度利用A4纸张

08ba709808694a3388f4683eed78e665.png

素材准备:

75c5a636e49b4d88b091434bc3f91e6e.png7b1726c074d74af3bf8862efa862b2a5.png8f993d11f29345f68feaabe649a105b8.png

代码重点:

59d3612465144c25a667bd3b5418b52d.png

31ad37ae9f8c45b5981bbdaeb636f2cb.png

ccf7aeefdb9944f4a23c61a08cb5a9df.png

代码展示:

'''
目的:
1、骰子不同图案8.0 一页七个连在一起的.2.9CM
2、作者:阿夏
时间:2024年2月1日)

'''

import os
# num=int(input('生成多少份(28人)\n'))


print('----------第1步:提取图案------------')

# 
# path=['▲','●','◆','■','★','✿','❀']
    #   '♠','♥','♦','♣',]
    # 一页6个需要6的倍数36个
patho=['☆','□','○','◇','△','⊕','☼','☺','☏','◎','⊿','√', '×','☑','☹','☺','☼','♫','❀','❤','✉','✄','✈','♘','♕','♔','☀','☉','☋','☂','☽','♤','♡','♢','♧']
# 需要5的倍数 35
print(len(patho))


# 点子总数 21
dz=1+2+3+4+5+6
# 行数7行
h=7

# 把每个符号批量21次
pathall=[]
for t in range(len(patho)):
    for v in range(dz):
        pathall.append(patho[t])
print(pathall)   
print(len(pathall))


# 因为是7个一页,所以要除以7
cs=dz*h
# 26分割 ['21个图形','21个图形']
path=[]
for t in range(int(len(pathall)/cs)):
    path.append(pathall[t*cs:t*cs+cs])
print(path)


# # # print('----------第2步:新建一个临时文件夹------------')
# # # # # 新建一个”装N份word和PDF“的文件夹
# os.mkdir
imagePath1=r'C:\Users\jg2yXRZ\OneDrive\桌面\骰子不同图案\零时Word'
if not os.path.exists(imagePath1):  # 判断存放图片的文件夹是否存在
    os.makedirs(imagePath1)  # 若图片文件夹不存在就创建

print('----------第3步:遍历输入每一种图案 ------------')

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 random

import 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 qn

from docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColor




# #     # 需要复制的倍数 第一个格子2个点,第2个格子1个点,第3个格子3个点
bg=[]
for x in range(0,h):
    for y in range(0,9):
        if y==4 or y==5 or y==h:
            pass
        else:
            bg.append('{}{}'.format('%02d'%x,'%02d'%y))
print(bg)
print(len(bg))
# 
# ['0000', '0001', '0002', '0003', '0006', '0008', '0100', '0101', '0102', '0103', '0106', '0108', '0200', '0201', '0202', '0203', '0206', '0208', '0300', '0301', '0302', '0303', '0306', '0308', '0400', '0401', '0402', '0403', '0406', '0408', '0500', '0501', '0502', '0503', '0506', '0508', '0600', '0601', '0602', '0603', '0606', '0608']
# 42格


# 坐标
s=[]
sss=[1,2,6,5,3,4]
for ww in range(h):
    for ss in sss:
        s.append(str(ss))
print(s)
print(len(s))
# 42
    

bg1=[]
for tt in range(len(s)):    
    hh=int(s[tt])        # 第一个数字1
    print(hh)
    for kk in range(hh):        # 数字出现几次1次、2次、6次
        jj=bg[tt]        # bg的第一个坐标‘01’
        bg1.append(jj)
print(bg1)
# # ['01', '02', '02', '03', '03', '03', '03', '03', '03', '04', '04', '04', '04', '04', '12', '12', '12', '12', '12', '12', '14', '14', '14', '14']


for nn in range(0,len(path)):  # 4

    doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\骰子不同图案\骰子嵌套8.0(7个2嵌套).docx')

    # for b in range(h):    # 共有2个表格         
    table = doc.tables[0]          # 一共有2个表格 

    # 插入图形
    for tt in range(len(bg1)):   # 26个
        pp=int(bg1[tt][0:2])    
        qq=int(bg1[tt][2:4])  
        # print(p)               
        k=path[nn][tt]              # 每个坐标里面插入一个☉      
        print(pp,qq,k)  

        # 图案符号的字体、大小参数
        run=table.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(22) #是否加粗
        run.font.color.rgb = RGBColor(0,0,0) #数字小,颜色深0-255
        run.bold=True
        # paragraph.paragraph_format.line_spacing = Pt(180) #数字段间距
    
        r = run._element
        r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
        table.cell(pp,qq).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中  

    # doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\骰子不同图案\零时Word\{}.docx'.format('%02d'%nn)) 

    doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\骰子不同图案\零时Word\{}.docx'.format('%02d'%nn))   
    from docx2pdf import convert

    # docx 文件另存为PDF文件
    inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/骰子不同图案/零时Word/{}.docx".format('%02d'%nn)  # 要转换的文件:已存在
    outputFile = r"C:/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/桌面/骰子不同图案/(打印合集)骰子横版8.0 A4 一页7个{}张共{}人).pdf".format(int(len(path)/4),len(patho)))
file_merger.close()
# doc.Close()
# print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/骰子不同图案/零时Word') #递归删除文件夹,即:删除非空文件夹

作品展示:

aacc69205c6a4fd7af7528e5c7250be5.png

打印在A4纸上,用裁纸刀切成一条条的,

69519e978cd74e11aebd3bfb8129c680.png

af6e2f265b3e4d858ab31a517b2d0d3b.png

把多个骰子的纸模连在一起(同一个表格),材料准备(裁切)也更简单了。(* ̄︶ ̄)

  • 20
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿夏reasonsummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值