【教学类-12-12】20240617通义万相-动物图片6张编故事(A4一页4条)

背景需求

【教学类-12-11】20240612通义万相-动物图片连连看(A4一页3套)-CSDN博客文章浏览阅读891次,点赞34次,收藏11次。【教学类-12-11】20240612通义万相-动物图片连连看(A4一页3套)https://blog.csdn.net/reasonsummer/article/details/139599675

用以上的方式,制作图案随机出现的样式

代码展示:

'''
01通义动物连连看头饰 A4整页随机出现动物
AI对话大师,阿夏
2024年6月9日

'''
# 第3步,读取图片写入docx,合并PDF

import os,time
from docx import Document
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from PyPDF2 import PdfMerger
from docx.shared import Cm
import random,itertools
# 读取123文件夹中的所有图片地址

path=r'C:\Users\jg2yXRZ\OneDrive\桌面\20240609通义动物连连看头饰'
image_folder=path+r'\01四个动物连线'
new_folder = path+r'\零时文件夹'
os.makedirs(new_folder, exist_ok=True)


image_file = [os.path.join(image_folder, file) for file in os.listdir(image_folder) if file.endswith('.png')]
# print(image_files)
# print(len(image_files))
# 140

image_files=random.sample(image_file,len(image_file))

grouped_files = [image_files[i:i+24] for i in range(0, len(image_files), 24)]
# print(grouped_files)
# print(len(grouped_files))


# 处理每一组图片
for group_index, group in enumerate(grouped_files):
    # 创建新的Word文档
    doc = Document(path+r'\动物连连看一页单图.docx')
    # print(group)
    
    # 遍历每个单元格,并插入图片
    for cell_index, image_file in enumerate(group):
        # 计算图片长宽(单位:厘米)
    
        
        # 插入图片到单元格
        table = doc.tables[0]
        cell = table.cell(int(cell_index / 4), cell_index % 4)
        # 如果第一行有4个格子,两个数字都写4
        cell_paragraph = cell.paragraphs[0]
        cell_paragraph.clear()
        run = cell_paragraph.add_run()
        run.add_picture(image_file, width=Cm(4.69), height=Cm(4.69))
        
    # 保存Word文档
    doc.save(os.path.join(new_folder, f'{group_index + 1:03d}.docx'))
        

# 所有docx合并成PDF

# 将10个docx转为PDF
import os
from docx2pdf import convert
from PyPDF2 import PdfFileMerger
# from PyPDF4 import PdfMerger

# output_folder = output_folder

pdf_output_path = path+fr'\\通义动物一页随机出现{int(len(image_files)/24)+1}张{len(image_files)}人使用.pdf'

# 将所有DOCX文件转换为PDF
for docx_file in os.listdir(new_folder):
    if docx_file.endswith('.docx'):
        docx_path = os.path.join(new_folder, docx_file)
        convert(docx_path, docx_path.replace('.docx', '.pdf'))


# 合并零时文件里所有PDF文件
merger = PdfFileMerger()
for pdf_file in os.listdir(new_folder):
    if pdf_file.endswith('.pdf'):
        pdf_path = os.path.join(new_folder, pdf_file)
        merger.append(pdf_path)
time.sleep(2)

# 保存合并后的PDF文件
merger.write(pdf_output_path)
merger.close()

import shutil
# 删除输出文件夹
import time
shutil.rmtree(new_folder)
# shutil.rmtree(new)
time.sleep(2)

因为是随机不重复抽取,所128图=24*5+8,有5个整页动物图片,第6页只有两行动物图片。

用途:编故事

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

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

相关文章

Web前端项目-拼图游戏【附源码】

拼图游戏 拼图游戏是一种经典的益智游戏,通过HTML、CSS和JavaScript等前端技术的综合运用来实现;拼图游戏可以锻炼玩家的观察能力、空间认知能力和逻辑思维能力。游戏开始时,一张图片会被切割成多个小块,并以随机顺序排列在游戏区…

【第三篇】SpringSecurity请求流程分析

简介 本篇文章主要分析一下SpringSecurity在系统启动的时候做了那些事情、第一次请求执行的流程是什么、以及SpringSecurity的认证流程是怎么样的,主要的过滤器有哪些? SpringSecurity初始化流程 1.加载配置文件web.xml 当Web服务启动的时候,会加载我们配置的web.xml文件…

你是否感受到AI就在身边?

人工智能(AI)是一项革命性的技术,旨在模仿人类智慧并执行通常需要人类认知能力的任务。它覆盖了多个子领域,如机器学习、自然语言处理、计算机视觉和机器人技术。AI系统设计用于分析大量数据、从模式中学习、做出预测,…

ue5创建地图瓦片

先在虚幻商城下载免费的paperzd插件,并启用。 导入资源后,先通过应用paper2d纹理资源,将去掉导入ue时产生的边缘模糊,再点击下面的创建瓦片集, 打开瓦片集,发现选中不对, 改变瓦片大小为16*…

Java——IO流(字符流,字节流)

JavaIO的整体框架图 IO流从方向上来说,可以分为输入流和输出流; 从传输内容上来说,可以分为字符流和字节流 防止记混的口诀 所谓的IO,说白了就是数据在内存和硬盘之间的传输 输入流 %Reader %InputStream,从硬盘写…

如何应对缺失值带来的分布变化?探索填充缺失值的最佳插补算法

本文将探讨了缺失值插补的不同方法,并比较了它们在复原数据真实分布方面的效果,处理插补是一个不确定性的问题,尤其是在样本量较小或数据复杂性高时的挑战,应选择能够适应数据分布变化并准确插补缺失值的方法。 我们假设存在一个…

华为----RIP- RIPv2的认证配置

8.2 配置RIPv2的认证 8.2.1 原理概述 配置协议的认证可以降低设备接受非法路由选择更新消息的可能性,也可称为“验证”。非法的更新消息可能来自试图破坏网络的攻击者,或试图通过欺骗路由器发送数据到错误的目的地址的方法来捕获数据包。RIPv2协议能够…

Pycharm社区版搭建Django环境及Django简单项目、操控mysql数据库

Web应用开发(Django) 一、配置Django环境 1、先通过Pycharm社区版创建一个普通的项目 2、依次点击”file"-->"Settings" 3、点击"Project:项目名"-"Python Interpreter"-"号" 4、在搜索框输入要安装的…

CSS选择符和可继承属性

属性选择符&#xff1a; 示例&#xff1a;a[target"_blank"] { text-decoration: none; }&#xff08;选择所有target"_blank"的<a>元素&#xff09; /* 选择所有具有class属性的h1元素 */ h1[class] { color: silver; } /* 选择所有具有hre…

渗透测试和红蓝对抗是什么?二者之间有何区别?

在网络安全这个庞大的体系中&#xff0c;渗透测试、红蓝对抗是比较常见的专业名词&#xff0c;承担着非常重要的作用&#xff0c;那么什么是渗透测试、红蓝对抗?红蓝对抗和渗透测试有什么区别?小编通过这篇文章为大家介绍一下。 渗透测试 渗透测试&#xff0c;是通过模拟黑…

Java基础 - 练习(一)打印等腰三角形

Java基础练习 打印等腰三角形&#xff0c;先上代码&#xff1a; public static void main(String[] args) {// 打印等腰三角形System.out.println("打印等腰三角形&#xff1a;");isoscelesTriangle(); } public static void isoscelesTriangle() {// for循环控制行…

java:一个springfox swagger2的简单例子

# 示例程序 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.12.RELEASE</version> </dependency> <dependency><groupId>…

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 02 Clos拓扑

本章回答以下问题&#xff1a; 什么是 Clos 拓扑&#xff0c;它与“接入 - 汇聚 - 核心”拓扑有何不同?Clos 拓扑的特征是什么?Clos 拓扑对数据中心网络的影响是什么? Clos拓扑 云原生数据中心基础设施的先行者们想要构建一种支持大规模水平扩展网络。 基本的Clos拓扑如图…

保姆级pycharm远程连接linux服务器

1、登录服务器&#xff0c;创建账号。 一般都是管理员账户登录&#xff0c;创建自己的账号。如果不需要&#xff0c;可跳过这步。 打开MobaXterm&#xff0c;点击左上角Session创建会话。 再点击左上角SSH&#xff0c;分别输入服务器ip和账号&#xff0c;最后点ok&#xff0c;进…

C++使用spdlog输出日志文件

参考博客&#xff1a; 日志记录库 spdlog 基础使用_spdlog 写日志-CSDN博客 GitHub - gabime/spdlog: Fast C logging library. 首先在github上下载spdlog源码&#xff0c;不想编译成库的话&#xff0c;可以直接使用源码&#xff0c;将include文件夹下的spdlog文件夹&#x…

Langchain-chatchat: Langchain基本概念

一、Langchain的chain是指的是什么&#xff1f; langchain字面意思是长长的链子&#xff0c;那么chains 链子具体指的是什么呢&#xff1f; 智普AI助手的回答如下&#xff1a; LangChain 中的 “chain” 是指链式操作或者序列化操作&#xff0c;它是一种将多个任务或操作按照…

Aeron:Aeron Agent

Aeron Agent 是一个 Java 代理&#xff0c;用于提供 Aeron、Aeron Archive 和 Aeron Cluster 中发生的运行时低级日志信息。这些日志语句包括从高级管理员事件到大容量数据帧事件。 在调试 Archive 和 Cluster 问题时&#xff0c;Aeron Agent 的日志数据尤其有用。 一、Availab…

Excel VLOOKUP 使用记录

Excel VLOOKUP 使用记录 VLOOKUP简单使用 VLOOKUP(lookup_value,table_array,col_index_num,[range-lookup]) 下面是excel对VLOOKUP 的解释 lookup_value&#xff08;查找值&#xff09;&#xff1a;要匹配查找的值 table_array&#xff08;数据表&#xff09;&#xff1…

基于(C++)VTK9.3.0+Microsoft Visual Studio2017的DICOM影像VR体绘制完整实现代码

开发基于&#xff08;C&#xff09;VTK9.3.0Microsoft Visual Studio2017的DICOM影像VR体绘制程序的前提是&#xff1a; 1、已编译完成VTK9.3.0&#xff0c;可在VTK官网下载VTK9.3.0源码&#xff0c;官网下载地址&#xff1a;Download | VTK 选择所需的VTK版本进行下载 具体编…

图片的大小如何改变?有效率改图片大小的方法

图片怎么将改变图片大小呢&#xff1f;现在经常在使用图片的时候需要先按照上传平台的要求来修改尺寸和大小&#xff0c;将图片调整到满足使用的大小之后然后上传使用。那么如何在线改变图片大小呢&#xff0c;有一个很简单的方法能够快速在线改图片大小&#xff0c;今天小编将…