先看效果:

QQ截图20230701003634.png
QQ截图20230701002821.png

1.姓名准备

将姓名存放到D:/names.txt文件内,用','分隔。

2.笔顺GIF动画下载

运行如下程序,将采集到的gif笔顺动画存放到姓名对应文件夹内:

import os
import requests
from docx import Document

def get_gif(word, index, folder_path):
    url="http://www.hanzi5.com/assets/bishun/animation/"
    gif_name=word.encode('unicode_escape')[-4:].decode('ascii')+"-bishun.gif"
    r = requests.get(url + gif_name)
    print("正在下载" + word + "的笔画动图")
    with open(os.path.join(folder_path, "{0}_{1}.gif".format(word, index)), 'wb') as f:
        f.write(r.content)

if __name__ == '__main__':
    file_path = 'D:/names.txt'  # 修改文件路径
    with open(file_path, 'r', encoding='utf-8') as file:
        names = file.read().split(',')

    output_folder = 'D:/中八班'  # 修改输出文件夹路径
    os.makedirs(output_folder, exist_ok=True)

    doc = Document()
    for name in names:
        name_folder = os.path.join(output_folder, name)
        os.makedirs(name_folder, exist_ok=True)
        name_chars = list(name.strip())
        for index, char in enumerate(name_chars):
            get_gif(char, index, name_folder)
            doc.add_paragraph(char)
            doc.add_picture(os.path.join(name_folder, "{0}_{1}.gif".format(char, index)))
            doc.add_page_break()

    doc.save(os.path.join(output_folder, 'names.docx'))  # 修改保存路径

3.笔顺字帖PNG安姓名存放到word内。

import os
import requests
from docx import Document

def get_png(word, index):
    url = "http://www.hanzi5.com/assets/bishun/stroke/"
    gif_name = word.encode('unicode_escape')[-4:].decode('ascii') + "-fenbu.png"
    r = requests.get(url + gif_name)
    print("正在下载" + word + "的笔画图片")
    with open("D:/{0}_{1}.png".format(word, index), 'wb') as f:
        f.write(r.content)

if __name__ == '__main__':
    file_path = 'D:/names.txt'  # 修改文件路径
    with open(file_path, 'r', encoding='utf-8') as file:
        names = file.read().split(',')

# png存到word中
    doc = Document()
    for name in names:
        name_chars = list(name.strip())
        for index, char in enumerate(name_chars):
            get_png(char, index)
            doc.add_paragraph(char)
            doc.add_picture("D:/{0}_{1}.png".format(char, index))
            doc.add_page_break()
    doc.save('D:/names.docx')  # 修改保存路径

发表评论