【教学类-46-06】福字门贴1.0(五款空心字体)

【教学类-46-06】福字门贴1.0(五款空心字体)_第1张图片

背景需求:

前期使用五款字体制作了吉祥字门贴的设计,在掌握五款空心字在15*15CM手工纸内最适合的大小结构后,则需要制作“五款福字”——用统一个文本框模板,写入不同空心字体的“福字”

【教学类-46-06】福字门贴1.0(五款空心字体)_第2张图片

链接5个

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)-CSDN博客文章浏览阅读795次,点赞38次,收藏12次。【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色)https://blog.csdn.net/reasonsummer/article/details/136015112

【教学类-46-02】吉祥字门贴2.0(红豆空心黑体 文本框 空心字涂色 建议简体)-CSDN博客文章浏览阅读780次,点赞15次,收藏20次。【教学类-46-02】吉祥字门贴2.0(红豆空心黑体 文本框 空心字涂色 建议简体)https://blog.csdn.net/reasonsummer/article/details/136024017

【教学类-46-03】吉祥字门贴3.0(文艺空心黑体(文字加粗) 文本框 空心字涂色 繁简皆可,建议简体)-CSDN博客文章浏览阅读1k次,点赞27次,收藏13次。【教学类-46-03】吉祥字门贴3.0(文艺空心黑体(文字加粗) 文本框 空心字涂色 繁简皆可,建议简体)https://blog.csdn.net/reasonsummer/article/details/136024198

【教学类-46-04】吉祥字门贴4.0(华文彩云 文本框 空心字涂色 建议简体)-CSDN博客文章浏览阅读818次,点赞24次,收藏9次。【教学类-46-04】吉祥字门贴4.0(华文彩云 文本框 空心字涂色 建议简体)https://blog.csdn.net/reasonsummer/article/details/136025220

【教学类-46-05】吉祥字门贴5.0(华光彩云_CNKI 文本框 空心字涂色 ,繁简都可以,建议简体)-CSDN博客文章浏览阅读570次,点赞16次,收藏10次。【教学类-46-05】吉祥字门贴5.0(华光彩云_CNKI 文本框 空心字涂色 ,繁简都可以,建议简体)https://blog.csdn.net/reasonsummer/article/details/136024814

通过梳理得知:

1、福字菱形纸1.0- 华光通心圆_CNKI 段落固定值310 字体大小290

2、吉祥字菱形纸2.0-红豆空心黑体 段落固定值290 字体大小290

3、吉祥字菱形纸3.0-文艺空心黑体 段落固定值310 字体大小290

4、吉祥字菱形纸4.0-华文彩云 段落固定值290 字体大小280

5、吉祥字菱形纸5.0-华光彩云_CNKI 段落固定值310 字体大小290

为了确保五款字体共同一个模板时,不会出现字体边缘缺失,因此使用最小的字体和段落,也就是华文彩云  段落固定值290 字体大小280

素材准备:

【教学类-46-06】福字门贴1.0(五款空心字体)_第3张图片

页面设置

【教学类-46-06】福字门贴1.0(五款空心字体)_第4张图片

插入形状-菱形(用Shift拉出正菱形)

【教学类-46-06】福字门贴1.0(五款空心字体)_第5张图片

设置 字体(空心字)  字体大小

【教学类-46-06】福字门贴1.0(五款空心字体)_第6张图片

文本框中字体的段落设置(让文字尽量在菱形的中心)

【教学类-46-06】福字门贴1.0(五款空心字体)_第7张图片

​最后样式

【教学类-46-06】福字门贴1.0(五款空心字体)_第8张图片

代码准备:

'''
目的:吉祥字菱形纸6.0(福字贴1.0)-五种空心字 段落固定值290 字体大小280  
作者:阿夏
时间:2024年2月3日
'''


# https://zhuanlan.zhihu.com/p/479015404
# # 在word中插入文本框
# # 打开一个已经存在的word,写入一个文本框,内容是123
# doc_app = win32.gencache.EnsureDispatch('Word.Application')#打开word应用程序
# doc_app.Visible =1#设置应用程序可见
# doc = doc_app.Documents.Open(r'C:\Users\jg2yXRZ\OneDrive\桌面\福字\福字12.docx')#打开文档

# shp = doc.Shapes.AddTextbox(Orientation=1, Left=100, Top=100, Width=100, Height=100)
# shp.TextFrame.TextRange.Text = '123'#编辑文本框的内容
# # 另存为
# new_file_path = r'C:\Users\jg2yXRZ\OneDrive\桌面\福字\福字12_new.docx'  # 新文件路径和名称
# doc.SaveAs(new_file_path)  # 另存为新文件
# # 关闭兼容模式,退出原始模板
# doc.Convert()
# doc.Close()  # 关闭原始文件
# doc_app.Quit()  # 退出Word应用程序


# 打开一个已经存在的word,看有几个文本框
import win32com.client as win32
from win32com.client import constants
import os,time

ztall='五款空心字'

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

num=int(input('一共几人(必须5的倍数,如30)\n'))
zt=[]
    
z=['华光通心圆_CNKI','红豆空心黑体','文艺空心黑体','华文彩云','华光彩云_CNKI']
for w in range(int(num/5)):    # 循环6次
    for b in z:
        zt.append(b)
print(zt)

# 简体
a='福'
TXT =[]
for  aa in range(num):
    TXT.append(a)
print(TXT)

print(len(TXT))
# 15字

for  nn in range(len(TXT)):
    doc_app = win32.gencache.EnsureDispatch('Word.Application')#打开word应用程序
    doc_app.Visible =0  #设置应用程序可见 word不要打开
    doc = doc_app.Documents.Open(r'C:\Users\jg2yXRZ\OneDrive\桌面\福字\福字_五款空心字.docx' )#创建新得文档
    # # 正文几个文本框
    # print(doc.Shapes.Count)
    # #  提取正文里面的文本框的内容
    for shape in doc.Shapes:
    # 	print(shape.TextFrame.TextRange.Text)
        
        wrapFormat = shape.WrapFormat 
        wrapFormat.Type = constants.wdWrapThrough
        
    # # 更改文本框的内容	默认和原来的格式一样(字体 大小 颜色)
        # 写入的内容——福字
        shape.TextFrame.TextRange.Text = TXT[nn]
        # 写入的字体
        shape.TextFrame.TextRange.Font.Name = zt[nn]
        # 某个字体,就把字体加粗
        if zt[nn]=='文艺空心黑体':
            shape.TextFrame.TextRange.Font.Bold = True
        else:
            pass
      

        # # 设置文本框中字体颜色和大小
        # textFont = shape.TextFrame.TextRange.Font 
        # textFont.ColorIndex = constants.wdGreen #设置字体颜色
        # textFont.Size = 40 # 设置字体,单位为磅,可以网上搜索到字体大小和磅的对应关系

        # # 设置文本框颜色
        # # LineFormat = shp.Line
        # # LineFormat.ForeColor.RGB = 0xFFFFFF # 设置文本框颜色为白色

    # 页眉页脚文本框内容
    # wd_section = doc.Sections(1)#注意section内部成员编号是从1开始的
    # print(wd_section.Headers(constants.wdHeaderFooterPrimary).Shapes.Count)
    # print(wd_section.Footers(constants.wdHeaderFooterPrimary).Shapes.Count)
    # 提取页眉页脚里面的文本框的内容
    # for shape in wd_section.Footers(constants.wdHeaderFooterPrimary).Shapes:
    # 	print(shape.TextFrame.TextRange.Text)
    # doc.Convert()

    # 另存为
    new_file_path = r'C:\Users\jg2yXRZ\OneDrive\桌面\福字\零时Word\{}.docx'.format('%02d'%nn) # 新文件路径和名称    
    doc.SaveAs(new_file_path)  # 另存为新文件  
   
    # 关闭模板   
    doc.Close()  # 关闭原始文件   
    doc_app.Quit()  # 退出Word应用程序
   
    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(2)
    
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/桌面/福字/(打印合集){}简体 ({}人共{}张).pdf".format(ztall,len(TXT),len(TXT)))
file_merger.close()
# doc.Close()

# print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/福字/零时Word') #递归删除文件夹,即:删除非空文件夹o

终端输入:

一、先输入5(因为只有5款字体)

【教学类-46-06】福字门贴1.0(五款空心字体)_第9张图片

【教学类-46-06】福字门贴1.0(五款空心字体)_第10张图片

【教学类-46-06】福字门贴1.0(五款空心字体)_第11张图片结果显示:

【教学类-46-06】福字门贴1.0(五款空心字体)_第12张图片

39b7f3838d5a485ebcc328a6387b1bc8.png

【教学类-46-06】福字门贴1.0(五款空心字体)_第13张图片

设置了if 加粗的结果

【教学类-46-06】福字门贴1.0(五款空心字体)_第14张图片【教学类-46-06】福字门贴1.0(五款空心字体)_第15张图片

五款空心字体中的,遇到文艺空心黑体,就默认加粗

二、输入30(30个孩子,等于5款字体复制6次)

【教学类-46-06】福字门贴1.0(五款空心字体)_第16张图片

a4ed8654ca25444b920a765ee4f888a7.png

【教学类-46-06】福字门贴1.0(五款空心字体)_第17张图片【教学类-46-06】福字门贴1.0(五款空心字体)_第18张图片【教学类-46-06】福字门贴1.0(五款空心字体)_第19张图片5

5个字体为一组,复制了6组

【教学类-46-06】福字门贴1.0(五款空心字体)_第20张图片

华文彩云、华光彩云,两款字体很胖,且笔画黏连,很容易把黑色边线涂掉,所以建议幼儿记号笔勾边?

你可能感兴趣的:(python)