背景需求:
前期用用通义万相下载了一堆空瓶子
感觉瓶子身体很细,幼儿镂空剪的地方小。
改为制作一些宽口瓶,更符合实际教学需求
更换关键词
密封玻璃圆肚罐,简单笔画,卡通,黑白轮廓,轮廓加粗,轮廓加粗,未着色,插图,线条画,没有背景,没有颜色,黑白漫画线条艺术:,空背景,粗轮廓,清晰的线条,矢量线。简单,大,
这套图片都是宽肚瓶了,不过明显每张背景都是灰色的(为了凸显玻璃材质的白色高光,所以背景必须是灰色的)
所有图片都用ps修图
瓶子背景和瓶子内部都修改成白色(255,255,255)
素材准备:
200张图片,修了足足6个小时,累死了。(下次把关键词里的”没有背景”改成“白色背景”)
代码展示:
'''
宽口瓶子广口瓶
星火讯飞、阿夏
2024年8月4日
'''
import os
from PIL import Image, ImageDraw
print('----1、房屋切割成左右对称两片------------')
path=r'C:\Users\jg2yXRZ\OneDrive\桌面\20240805广口瓶'
old_path=path+r'\02修图'
# 获取文件夹下的所有图片文件
image_files = [os.path.join(old_path, f) for f in os.listdir(old_path) if f.endswith(('.jpg', '.jpeg', '.png'))]
print(image_files)
# 合并图案
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
# 将图片拆成8个一组
grouped_files = [image_files[i:i + 2] for i in range(0, len(image_files), 2)]
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(14.13), height=Cm(19.54))
# 保存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))}图.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)