【教学类-52-02】20240412动物数独02(四宫格)黏贴卡片

作品展示

背景需求

制作了动物数独4宫格后,需要再做一些黏贴上去的图片

【教学类-52-01】20240411动物数独(4宫格)-CSDN博客文章浏览阅读53次。【教学类-52-01】20240411动物数独01(4宫格)https://blog.csdn.net/reasonsummer/article/details/137679361

素材准备:

代码展示


# -*- coding:utf-8 -*-

'''
制作动物数独的黏贴卡片一张正反 3.5CM
作者:AI对话大师,阿夏
时间:2024年4月11日
# '''

# print('----1、读取行列-------')
from docx import Document
from docx.shared import Cm

path=r'C:\Users\jg2yXRZ\OneDrive\桌面\动物数独'
# 打开.docx文件
doc = Document(path +r'\动物数独(四宫格竖版)卡片.docx')

# 获取文档中的所有表格
tables = doc.tables

# 选择你需要读取的表格(在这种情况下是第1张表格)
target_table = tables[0]

# 获取所选表格的行数和列数
num_rows = len(target_table.rows)
num_columns = len(target_table.columns)

print("行数:", num_rows)
# 8
print("列数:", num_columns)
# 6

# 测算4类图片每种几张
sum=int(num_rows*num_columns/4)
print(sum)
# 12

print('----2、生成足够数量的图片-------')

import os

# 指定文件夹路径
folder_path =path+r'\02动物图片'

# 读取文件夹中所有文件的名称并加上路径
file_paths = [os.path.join(root, file) for root, dirs, files in os.walk(folder_path) for file in files]
pic_list=[]
# 打印文件名称和路径
for file_path in file_paths:
    for i in range(sum):
        pic_list.append(file_path)
print(pic_list)
print(len(pic_list))
# 48

print('----3、插入图片-------')

# 打开.docx文件
doc = Document(path+r'\动物数独(四宫格竖版)卡片.docx')

# 获取文档中的所有表格
tables = doc.tables

# 获取第一个表格
table = tables[0]

# 遍历表格的所有行和单元格
i = 0
for row in table.rows:
    for cell in row.cells:
        # 在单元格中插入图片
        cell_paragraph = cell.paragraphs[0]
        run = cell_paragraph.add_run()
        run.add_picture(pic_list[i], width=Cm(3.5), height=Cm(3.5))
        cell_paragraph.alignment = 1  # 设置单元格中的文本居中
        i += 1  # 移动到下一个图片路径

# 保存修改后的.docx文件
doc.save(path + r'\动物数独卡片1页.docx')


print('----4、docx转为PDF-------')
import win32com.client

def docx_to_pdf(docx_path, pdf_path):
    # 创建Word应用程序
    word = win32com.client.Dispatch('Word.Application')
    # 打开.docx文件
    doc = word.Documents.Open(docx_path)
    # 将.docx保存为PDF
    doc.SaveAs(pdf_path, FileFormat=17)
    # 关闭Word应用程序
    doc.Close()
    word.Quit()

# 指定.docx文件路径和PDF文件路径
docx_path = path+r'\动物数独卡片1页.docx'
pdf_path = path+r'\动物数独卡片1页.pdf'

# 将.docx转换为PDF
docx_to_pdf(docx_path, pdf_path)

结果展示

每个动物12个图片,图片都要剪开来,单独塑封,工作量很大啊

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿夏reasonsummer

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

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

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

打赏作者

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

抵扣说明:

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

余额充值