【教学类65-04】20240625秘密花园涂色书04(通义万相)(图纸16:9,A4横板1张,一大168张纸168份)

news2024/12/24 10:22:36

背景需求

【教学类65-01】20240622秘密花园涂色书01(通义万相)(A4横版2张,一大3小 38张纸76份)-CSDN博客文章浏览阅读118次。【教学类65-01】20240622秘密花园涂色书01(通义万相)(A4横版2张,一大3小 38张纸76份)https://blog.csdn.net/reasonsummer/article/details/139899797https://blog.csdn.net/reasonsummer/article/details/139899797icon-default.png?t=N7T8https://blog.csdn.net/reasonsummer/article/details/139899797

【教学类65-02】20240622秘密花园涂色书02(通义万相)(A4横版2张,一大 68张纸136份)-CSDN博客文章浏览阅读564次。【教学类65-02】20240622秘密花园涂色书02(通义万相)(A4横版2张,一大 68张纸136份)https://blog.csdn.net/reasonsummer/article/details/139904801?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22139904801%22%2C%22source%22%3A%22reasonsummer%22%7Dicon-default.png?t=N7T8https://blog.csdn.net/reasonsummer/article/details/139904801?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22139904801%22%2C%22source%22%3A%22reasonsummer%22%7D

【教学类65-03】20240622秘密花园涂色书03(通义万相)(A4横版1张,一大 68张纸136份)-CSDN博客文章浏览阅读362次,点赞11次,收藏4次。20240622秘密花园涂色书03(通义万相)(A4横版1张,一大 68张纸136份)https://blog.csdn.net/reasonsummer/article/details/139912622?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22139912622%22%2C%22source%22%3A%22reasonsummer%22%7D

以上都是正方形的图纸1:1

以下我用16:9下载横向长方形

素材准备

图片准备:

代码展示


'''
秘密花园涂色书(通义16:9图,模板1图)
作者:AI对话大师,阿夏
2024年6月22日

'''

import docx
import os
import time
import random
from docx import Document
from docx.shared import Pt, Inches, Cm, RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.enum.text import WD_ALIGN_PARAGRAPH
# from docx.enum.text import WD_VERTICAL_ALIGNMENT
# from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT
from docx.oxml.ns import qn
from docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert

print('----------第1步:提取所有的幼儿照片的路径------------')
# 文件信息
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\秘密花园涂色书'
image_folder=path+r'\00横版jpg'
# 新建文佳佳
ten_folder = path+r'\零时Word'
os.makedirs(ten_folder , exist_ok=True)

# 6个文件夹
image_files = [os.path.join(image_folder, file) for file in os.listdir(image_folder) if file.endswith('.png')]
grouped_files = [image_files[i:i+1] for i in range(0, len(image_files), 1)]
print(grouped_files)
# # 55

pic=['10']
long=['28.26']
wide=['15.9']
# 每4个图片一组进行处理


s=1
for nn in range(0,int(len(grouped_files))):      # 读取图片的全路径  的数量 31张
    doc = Document(path+r'\04涂色书模板横版图1张.docx')

    table = doc.tables[0]          # 4567(8)行

        # 假设字体名称为"Your Font Name"
    font_name = r"C:\Windows\Fonts\FZMWFont.ttf"

    for t in [0]:
        # 设置单元格内容
        cell_0_0 = table.cell(0, t)
        cell_0_0.text = f"秘密花园涂色书——{s:03d}"
        cell_0_0.paragraphs[0].alignment = docx.enum.text.WD_ALIGN_PARAGRAPH.CENTER
        cell_0_0.paragraphs[0].runs[0].font.size = Pt(30)  # 设置字体大小
        cell_0_0.paragraphs[0].runs[0].font.name = font_name  # 设置字体名称
        cell_0_0.paragraphs[0].runs[0].font.bold = True  # 设置字体加粗
        s += 1

    for l in range(len(long)):
        # 单元格坐标
        a=int(pic[l][0])
        b=int(pic[l][1])
        figures=grouped_files[nn][l]           # 图片的全路径的第一张 
#
        # 写入1张大图
        run=doc.tables[0].cell(a,b).paragraphs[0].add_run()        # # 图片位置 第一个表格的0 3 插入照片
        run.add_picture(r'{}'.format(figures),width=Cm(float(long[l])),height=Cm(float(wide[l])))
        table.cell(a,b).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中 
                
    doc.save(ten_folder+r'\{}.docx'.format('%03d'%nn))   
    # time.sleep(5)
    from docx2pdf import convert

    # docx 文件另存为PDF文件
    inputFile = ten_folder+fr'\{nn:03d}.docx'  # 要转换的文件:已存在
    outputFile = ten_folder+fr'\{nn:03d}.pdf'  # 要生成的文件:不存在
    # 先创建 不存在的 文件
    f1 = open(outputFile, 'w')
    f1.close()
    # 再转换往PDF中写入内容
    convert(inputFile, outputFile)
    time.sleep(4)
    
print('----------第4步:把都有PDF合并为一个打印用PDF------------')
    

# 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
import os
from PyPDF2 import PdfFileMerger
target_path =  ten_folder
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 = PdfFileMerger()
for pdf in pdf_lst:
    print(pdf)
    file_merger.append(pdf)
file_merger.write(path+fr"\04涂色书横版1图({len(image_files)}人共{int(len(image_files))}份).pdf")
file_merger.close()
# doc.Close()

# print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree(ten_folder) #递归删除文件夹,即:删除非空文件夹

结果展示

这是16:9的横向长方形图片

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

os实训课程模拟考试(选择题复习)

目录 一、操作系统的基本功能和设计目标 (1)基础知识 (2)题目与答案 1、操作系统是一组 B (单选) 2、以下哪项不是操作系统关心的主要问题?D (单选) 3、下列关于…

ETAS工具导入DEXT生成Dcm及Dem模块(二)

文章目录 前言DcmDcmDsdDcmDslDcmDspDcmPageBufferCfgDem报错解决总结前言 之前一篇文章介绍了导入DEXT之后在cfggen之前的更改,cfggen完成之后,就可以生成dcm,dem的配置了,但生成完配置后,如果直接生成BSW代码,会报错。本文介绍在cfggen完成后,生成BSW代码前的修改 Dc…

2024年6月29日 (周六) 叶子游戏新闻

老板键工具来唤去: 它可以为常用程序自定义快捷键,实现一键唤起、一键隐藏的 Windows 工具,并且支持窗口动态绑定快捷键(无需设置自动实现)。 喜马拉雅下载工具: 字面意思 《星刃》性感女主私密部位细节逼真 让玩家感到惊讶《星刃…

React@16.x(44)路由v5.x(9)源码(1)- path-to-regexp

目录 1,作用2,实现获取 match 对象2.1,match 对象的内容2.2,注意点2.3,实现 1,作用 之前在介绍 2.3 match 对象 时,提到了 react-router 使用第3方库 path-to-regexp 来匹配路径正则。 我们也…

Bureau of Contacts联机卡顿、联机延迟高的三种有效解决办法

Bureau of Contacts是一款全新的驱鬼游戏,最多支持4名玩家同时联机探索,玩家将进入被诅咒的地点,在这里找到被黑暗隐藏的秘密,并了解其消灭的办法,清除一切超自然内容,最终成功存活。不过有玩家反馈&#x…

智慧校园-报修管理系统总体概述

智慧校园报修管理系统是专为优化教育机构内部维修报障流程而设计的信息化解决方案,它通过集成现代信息技术,为校园设施的维护管理带来革新。该系统以用户友好和高效运作为核心,确保了从报修请求提交到问题解决的每一个步骤都顺畅无阻。 师生或…

存储请求地址但是使用时请求的是端口

baseURL默认全局加载一次,后续直接读取缓存 解决方案:

服务器基础知识初学习(必掌握)

1.服务器是什么?如何分类? 简单来说,服务器就是计算机的一种,但是它有高计算能力、长时间的可靠运行、强大的外部数据吞吐能力等特性。如图,它的实体大概是这样的(网上搜的): 服务器可以从三个方面进行分类…

网络问题排障专题-数据分析

目录 一、各协议数据包介绍 1、Ping、DNS数据包介绍(单包一来一回) Ping DNS 2、TCP数据包 在正常情况下,TCP连接确实是从三次握手开始的。三次握手是建立TCP连接的过程,它的目的是确保双方都能够正常通信。 为啥要四次挥手…

14-7 为什么你的梦想职业可能会扼杀你的梦想

照片由Johnny Cohen在Unsplash拍摄 “做好工作的唯一方法就是热爱你所做的事情。如果你还没有找到,那就继续寻找。不要安于现状。”——史蒂夫乔布斯 等一下,什么? 这不是一篇关于无聊工作的文章吗?我为什么要用一句完全违背前提…

linux中的各种指令

按文件的大小进行查找 find / usr -size 100M 在home路径下创建txt文件 touch test.txt 查看test.txt文件中的内容: cat test.txt通过指令pwd可以查看当前所处路径。 切换超级用户的指令: su - root 离开时可以使用指令:exit grep指…

SiteSucker Pro for Mac:一键下载整站,轻松备份与离线浏览!

SiteSucker Pro for Mac是一款专为苹果电脑用户设计的网站下载与备份工具🕸️。它以其强大的整站下载能力和用户友好的界面,成为了众多Mac用户备份网站、离线浏览的得力助手💻。 这款软件允许用户一键下载整个网站,包括所有的网页…

Python功能制作之使用streamlit做一个简单的WebUI

使用Streamlit创建WebUI 1. 什么是Streamlit Streamlit 是一个开源的Python库,用于快速创建美观的Web应用。 它适合数据科学家和机器学习工程师,因为它能够以最小的代码量将数据应用程序带到浏览器中。通过简单的Python脚本,可以创建交互式…

RocketMQ源码学习笔记:Broker接受消息和发送消息

这是本人学习的总结,主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、Overview2、技术亮点2.1、消息写入时的自旋锁和可重入锁2.2、堆外内存机制2.2.1、Overview2.2.2、源码2.2.2.1、开启堆外内存的条件2.2.2.2、堆外内存的初始化2.2.2.3、写消息到堆外内存2…

昇思25天学习打卡营第2天|数据集Dataset

学习目标:熟练掌握mindspore.dataset mindspore.dataset中有常用的视觉、文本、音频开源数据集供下载,点赞、关注收藏哦 了解mindspore.dataset mindspore.dataset应用实践 拓展自定义数据集 昇思平台学习时间记录: 一、关于mindspore.dataset minds…

华测视频RTK,AR实景导航

华测导航视频测量RTK技术,通过融合卫星导航、惯导与视频摄影测量算法,让“所见即所测”成为现实,让测量工作变得更加智能、高效。 视频测量RTK:智能测绘的新里程碑 华测RTK的性能和广泛应用,在市场中获得了用户的认可,平均每10位用户中即有6位推荐。其视频测量功能通过引入自动…

【硬件视界2】什么是CPU和GPU?有什么区别?

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 本篇笔记整理:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、CPU (中央处理器)①主要作用②特点 2、 GPU (图形处理…

HarmonyOS Next开发学习手册——弹性布局 (Flex)

概述 弹性布局( Flex )提供更加有效的方式对容器中的子元素进行排列、对齐和分配剩余空间。常用于页面头部导航栏的均匀分布、页面框架的搭建、多行数据的排列等。 容器默认存在主轴与交叉轴,子元素默认沿主轴排列,子元素在主轴…

Workbench密码登录登录失败

Workbench密码登录登录失败操作系统禁用了密码登录方式,会导致使用了正确的用户名和密码仍无法登录 sudo vim /etc/ssh/sshd_config 输入O进入编辑 改完后重启 systemctl restart sshd.service 登录报错 有试了几遍登上了 可能是改完还要等一会儿

ros1仿真导航机器人 基础传感器数据读取

仅为学习记录和一些自己的思考&#xff0c;不具有参考意义。 1 仿真环境 gazebo、rviz、ros1 2 机器人模型 <?xml version"1.0"?> <robot name"wpb_home_gazebo"><link name"base_footprint"><visual><origin …