【教学类-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个图片,图片都要剪开来,单独塑封,工作量很大啊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/537426.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中科方德服务器操作系统安装zabbix5.0

原文链接:中科方德服务器操作系统安装zabbix5.0 Hello,大家好啊!接着我们上一次的讨论,今天我要为大家介绍如何在已经安装好的中科方德服务器操作系统基础上,安装和配置Zabbix 5.0。Zabbix是一个开源的监控软件工具&am…

C语言 | Leetcode C语言题解之第24题两两交换链表中的节点

题目: 题解: struct ListNode* swapPairs(struct ListNode* head) {struct ListNode dummyHead;dummyHead.next head;struct ListNode* temp &dummyHead;while (temp->next ! NULL && temp->next->next ! NULL) {struct ListNod…

[Python图像识别] 五十二.水书图像识别 (2)基于机器学习的濒危水书古文字识别研究

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。目前我进入第二阶段Python图像识别,该部分主要以目标检测、图像…

go语言学习--3.常用语句

目录 1.条件语句 1.1 if语句 1.2 if-else语句 1.3 switch语句 1.4 select语句 2.循环语句 2.1循环处理语句 2.2循环控制语句 3.go语言关键字 1.条件语句 和c语言类似,相关的条件语句如下表所示: 1.1 if语句 if 布尔表达式 {/* 在布尔表达式为 t…

前端常见面试题-CSS盒模型

前言: 什么是CSS盒模型?盒模型的构造? 在前端开发中,CSS 盒模型是一种非常基础且核心的概念,它描述了文档中的每个元素被框架处理的方式。 ---- 打开浏览器开发者工具,查看Elements右侧下的Styles底部。 …

C++ | Leetcode C++题解之第21题合并两个有序链表

题解&#xff1a; 题解&#xff1a; class Solution { public:ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {ListNode* preHead new ListNode(-1);ListNode* prev preHead;while (l1 ! nullptr && l2 ! nullptr) {if (l1->val < l2->val) {prev-…

Python用于模拟量子系统库之qutip使用详解

概要 QuTiP(Quantum Toolbox in Python)是一个用于模拟量子系统的开源Python库,它提供了丰富的工具来研究量子力学和量子信息学。 安装 通过pip可以轻松安装QuTiP: pip install qutip特性 多种量子对象表示:支持量子态、算符和超算符的表示和操作。 动力学模拟:提供了…

LeetCode 98 验证二叉搜索树

题目描述 验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左 子树 只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是二叉搜…

VM虚拟机Linux系统Redhat7.4版本进行网络配置

日常中自己搭建的虚拟机一般用到两种网络方式&#xff0c;第一种是仅主机模式、还有一种是NAT模式。 1、仅主机模式&#xff1a;可以和自己本地电脑&#xff0c;或者虚拟机和虚拟机之间进行网络通信&#xff0c;相当于一个局域网&#xff0c;是不能连接外网的。 2、NAT模式&a…

数据结构篇:深度剖析跳跃表及与B+树优劣分析

本文旨在探讨跳跃表的特性及其在实际应用场景中的作用&#xff0c;同时对其与B树进行比较&#xff0c;以帮助更好地理解和运用这两种数据结构。 跳跃表 什么是跳跃表&#xff08;skip list&#xff09; 跳跃表是一种基于跳跃链表的有序数据结构&#xff0c;它是一种多层链表&…

openGauss_5.1.0 企业版快速安装及数据库连接:单节点容器化安装

目录 &#x1f4da;第一章 官网信息&#x1f4da;第二章 安装&#x1f4d7;下载源码&#x1f4d7;下载安装包&#x1f4d7;修改版本&#x1f4d7;解压安装包&#x1f4d7;运行buildDockerImage.sh脚本&#x1f4d7;docker操作&#x1f4d5;查看docker镜像&#x1f4d5;启动dock…

上位机图像处理和嵌入式模块部署(改进的qmacvisual动态插件卸载)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们讨论过&#xff0c;qmacvisual虽然提供了很多的功能&#xff0c;包括的种类很多&#xff0c;但是总有一些功能是客户希望定制的。这些都是…

更改docker镜像下载地址

一.简介 使用指令 sudo docker info 查看本机的docker镜像下载地址为 由于本机的var文件空间不足&#xff0c;因此&#xff0c;想更改他的存储地址&#xff0c;如下 二.开始操作 1.停止Docker服务&#xff1a; 执行命令 sudo systemctl stop docker 以及 sudo systemctl s…

USB端口

winx&#xff0c;打开设备管理器 名称解释 HS-USB 分类全称传输速率版本超速SSsuper-speed最大速率5Gbps、10Gbps、20GbpsUSB3.0~USB3.2高速HShigh-speed25Mbps-400 Mbps &#xff08;最大480 Mbps&#xff09;USB2.0全速FSfull-speed500Kbps-10Mbps&#xff08;最大12Mbps&…

8个Python小游戏,小白练手,我都能玩一天【内附源码】

大家好&#xff0c;在使用Python的过程中&#xff0c;我最喜欢的就是Python的各种第三方库&#xff0c;能够完成很多操作。 下面就给大家介绍8个通过Python构建的项目&#xff0c;以此来学习Python编程。 大家也可根据项目的目的及提示&#xff0c;自己构建解决方法&#xff…

c++ stub函数打桩

应用场景&#xff1a; 当我们在开发一个涉及到第三方sdk库的软件时&#xff0c;比如做一个上位机控制客户端&#xff0c;该客户端当中调用了一份sdk库当中的接口。而这份sdk库&#xff0c;作为上层客户端软件与下层设备进行通信的媒介&#xff0c;可能需要在有真实设备的环境下…

社交网络与Web3:数字社交的演进

在数字化时代的浪潮下&#xff0c;社交网络已成为人们日常生活的重要组成部分。从早期的在线论坛到如今的社交媒体平台&#xff0c;社交网络已经成为人们交流、分享和获取信息的主要渠道。然而&#xff0c;随着区块链技术的发展&#xff0c;传统的社交网络正经历着一场革命性的…

Sy7 shell编程-1

实验环境&#xff1a; 宿主机为win11&#xff0c;网络&#xff1a;10.255.50.5 6389 WSL2 ubuntu 目标机的OS&#xff1a;Ubuntu 内核、版本如下&#xff1a; linuxpeggy0223:/$ uname -r 5.15.146.1-microsoft-standard-WSL2 linuxpeggy0223:/$ cat /proc/version Linux vers…

Java | Leetcode Java题解之第22题括号生成

题目&#xff1a; 题解&#xff1a; class Solution {static List<String> res new ArrayList<String>(); //记录答案 public List<String> generateParenthesis(int n) {res.clear();dfs(n, 0, 0, "");return res;}public void dfs(int n ,int…

动态规划应用

介绍 是用来解决一类最优问题的算法思想&#xff0c;将一个复杂的问题分解成若干个子问题&#xff0c;通过综合子问题的最优解得到。 递归写法实例 优化斐波那契数列 int F(int n){if(n0||n1) return 1;else{return F(n-1)F(n-2);}有太多重复计算&#xff0c;可用一个数组记…