【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)

作品展示

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第1张图片

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第2张图片

背景需求:

马上就要过年了,家家户户大门上贴上对联和福字

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第3张图片

我想用正方形红色手工纸(15CM)也做一个幼儿描线版的福字

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第4张图片

问题一:福字顺时针旋转45度

打印纸上制作福字,需要让这个字顺时针旋转45度,形成菱形,普通的word表格插入文字,只能书写横向和纵向文字。无法实现倾斜文字.

问题二:幼儿描边速度太快,换成空心字涂色

如果只是对灰色的福字描线,我觉得幼儿很快就完成了,

所以准备把福字改成空心字体,让幼儿用黑色蜡笔(笔头粗,容易脏、超过边线、但是纸张不渗透)、黑色记号笔(涂色精准,但纸张容易晕湿碎裂、背面渗色),铅笔涂色(相对适宜,但是颜色不黑,一会儿就要用卷笔刀卷头了)

【教学类-35-23】正式版 20240202名字字卡4.0(15CM正方形手工纸、先男后女,页眉是黑体包含全名,姓名是红豆空心黑体 部分名字变成文艺空心黑体)-CSDN博客文章浏览阅读644次,点赞16次,收藏7次。【教学类-35-23】正式版 20240202名字字卡4.0(15CM正方形手工纸、先男后女,页眉是黑体包含全名,姓名是红豆空心黑体 部分名字变成文艺空心黑体)https://blog.csdn.net/reasonsummer/article/details/135980717

解决方案:

问题一:可以用“word形状/文本框”这个神奇的功能实现福字倾斜、倒置,

问题二:可以换成五款空心字(PPT效果展示)

下面来制作Word模板(文本框字体或形状字体)

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第5张图片

页面设置

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

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

五款空心字中,我比较中意“华光通心圆_CNKI”

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第6张图片

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

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第7张图片

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第8张图片

模板设置好了,一个“福字”,根本不需要Python,所以我准备了15个吉祥字,让幼儿随机抽取红色手工纸,进行文字涂色。

['福','乐','安','康','喜','吉','瑞','美','熙','彩','美','顺','春','龙','爱']

这就涉及了WORD文本框内容的替换,网上相关信息很少,以下这篇帮我实现了需求

python插入、读写word中的文本框(基于win32com) - 知乎在word中插入文本框在正文中插入文本框 插入效果(浮于文字上) import win32com.client as win32 from win32com.client import constants import os curr_path = os.getcwd() doc_app = win32.gencache.EnsureDis…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/479015404

代码展示(包含简体和繁体)

'''
目的:福字菱形纸1.0-华光通心圆_CNKI 段落固定值310 字体大小290 
作者:阿夏
时间: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

zt='华光通心圆_CNKI'

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

# 简体
TXT=['福','乐','安','康','喜','吉','瑞','美','熙','彩','美','顺','春','龙','爱']
# 繁体
# 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\桌面\福字\福字_华光通心圆_CNKI.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]

    # # 设置文本框中字体颜色和大小
    # 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(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/桌面/福字/(打印合集)吉祥字简体 {}({}人共{}张).pdf".format(zt,len(TXT),len(TXT)))
# file_merger.write("C:/Users/jg2yXRZ/OneDrive/桌面/福字/(打印合集)吉祥字繁体 {}({}人共{}张).pdf".format(zt,len(TXT),len(TXT)))
file_merger.close()
# doc.Close()

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

终端运行:

直接运行不用参数

运行结果:

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第9张图片

简体版本:
['福','乐','安','康','喜','吉','瑞','美','熙','彩','美','顺','春','龙','爱']

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第10张图片

结论:华光通心圆_CNKI

可以识别11个简体字'福','安','康','喜','吉','瑞','美','熙','彩','美','春',]

无法识别4个简体字['乐'、'顺'、'龙'、'爱'],默认为宋体.

繁体版本:

前期我在使用“文鼎标楷国字体”时,知道某些简体字改成繁体字,就能识别,

【教学类-44-02】20231226阿拉伯数字字帖的字体(二)——文鼎标楷国字体 AR StdKaiGDLB5 Md(虚线字体)_ar kaib5std md-CSDN博客文章浏览阅读804次,点赞25次,收藏8次。【教学类-44-02】20231226阿拉伯数字字帖的字体(二)——文鼎标楷国字体 AR StdKaiGDLB5 Md(虚线字体)_ar kaib5std mdhttps://blog.csdn.net/reasonsummer/article/details/135253842因此我用Word简体转繁体功能,试试是否能转换

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第11张图片

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第12张图片

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第13张图片

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第14张图片

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第15张图片

乐=樂

顺=順

龙=龍

爱=愛

把繁体字放入列表

['福','樂','安','康','喜','吉','瑞','美','熙','彩','美','順','春','龍','愛']

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第16张图片

结论:华光通心圆_CNKI可以识别

11个简体['福','安','康','喜','吉','瑞','美','熙','彩','美','春',]和

4个繁体字['乐-樂'、'顺=順'、'龙=龍'、'爱=愛']。

优势:

五款空心字体中,华光通心圆_CNKI 的边线粗细、字形结构、艺术性都是最适合幼儿涂色的同时考虑作为单个吉祥字招贴,繁体字书法也可以使用。

不足:

华光通心圆_CNKI需要对所有文字进行预测试,把不能空心的汉字转成繁体,还是有点繁琐。

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第17张图片

【教学类-46-01】吉祥字门贴1.0(华光通心圆_CNKI 文本框 空心字涂色,最好繁体字)_第18张图片

你可能感兴趣的:(Python,python)