【教学类-73-01】20240804镂空瓶子01

背景需求:

瓶子里的春天呀! - 小红书 (xiaohongshu.com)https://www.xiaohongshu.com/explore/63ef87f8000000000703acae?app_platform=android&ignoreEngage=true&app_version=8.47.0&share_from_user_hidden=true&xsec_source=app_share&type=normal&xsec_token=CBpundBBTrUJLdU3L5pYm0gLJYMp3HokY9qPe994qdlwI=&author_share=1&xhsshare=WeixinSession&shareRedId=ODszMTs4Nk82NzUyOTgwNjg3OTlHS0xC&apptime=1722745595&share_id=4be83769e22643f78607bc3976f0b4ab

首先用通义万相下载了一堆空瓶子

部分图片黑色多,白色少,

所有图片都用ps修图

尽量让中间的瓶内空白部分多一点

素材准备:

代码展示:

python 复制代码
'''
黑白瓶子
星火讯飞、阿夏
2024年8月4日
'''


import os
from PIL import Image, ImageDraw

print('----1、房屋切割成左右对称两片------------')

path=r'C:\Users\jg2yXRZ\OneDrive\桌面\黑白瓶子'
old_path=path+r'\01黑白瓶子'


# 获取文件夹下的所有图片文件
image_file = [os.path.join(old_path, f) for f in os.listdir(old_path) if f.endswith(('.jpg', '.jpeg', '.png'))]
print(image_file)

# 合并图案

import os,time
import shutil
from docx import Document
from docx.shared import Cm
from PIL import Image
from PyPDF2 import PdfFileMerger, PdfFileReader

from PIL import Image, ImageDraw, ImageFont
import os,random



image_files=[]
for a in range(len(image_file)):    
    image_files.append(image_file[a])
    image_files.append('')
print(image_files)
print(len(image_files))


# 将图片拆成8个一组
grouped_files = [image_files[i:i + 6] for i in range(0, len(image_files), 6)]
print(len(grouped_files))

# 创建临时文件夹
new_folder = path+r'\零时文件夹'
os.makedirs(new_folder, exist_ok=True)

print('----3、插入docx,制作pdf------------')
# 处理每一组图片
for group_index, group in enumerate(grouped_files):
    # 创建新的Word文档
    doc = Document(path+r'\瓶子.docx')
    # print(group)
    
    # 遍历每个单元格,并插入图片
    for cell_index, image_file in enumerate(group):
        # 计算图片长宽(单位:厘米)

        # 如果是空格,就跳过
        if not image_file:
            continue
    
        # 插入图片到单元格
        table = doc.tables[0]
        cell = table.cell(int(cell_index / 2), cell_index % 2)
        # 如果第一行有2个格子,两个数字都写2
        cell_paragraph = cell.paragraphs[0]
        cell_paragraph.clear()
        run = cell_paragraph.add_run()
        run.add_picture(image_file, width=Cm(9.75), height=Cm(9.35))
        
    # 保存Word文档
    doc.save(os.path.join(new_folder, f'{group_index + 1:03d}.docx'))
    


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

pdf_output_path = path+fr'\\01空瓶子{int(len(grouped_files))}张共{int(len(image_files)/2)}图.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'))
        time.sleep(2)


# 合并零时文件里所有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()


# 删除输出文件夹

shutil.rmtree(new_folder)
time.sleep(2)

把瓶子中间镂空,背后衬纸,然后用彩色纸片从下塞入,模拟瓶中的彩色果汁

相关推荐
小呀小萝卜儿29 分钟前
2025-11-15 学习记录--Python-LSTM模型定义(PyTorch)
python·学习·lstm
百锦再1 小时前
第15章 并发编程
android·java·开发语言·python·rust·django·go
laufing1 小时前
pyinstaller 介绍
python·构建打包
谅望者1 小时前
数据分析笔记09:Python条件语循环
笔记·python·数据分析
Auspemak-Derafru2 小时前
从U盘损坏中恢复视频文件并修复修改日期的完整解决方案
python
techzhi2 小时前
Intellij idea 注释模版
java·python·intellij-idea
李昊哲小课2 小时前
wsl ubuntu24.04 cuda13 cudnn9 pytorch 显卡加速
人工智能·pytorch·python·cuda·cudnn
温暖名字3 小时前
调用qwen3-omni的api对本地文件生成视频文本描述(批量生成)
python·音视频·qwen·qa问答
一眼万里*e3 小时前
搭建个人知识库
python
程序员小远4 小时前
软件测试之bug分析定位技巧
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·bug