作品展示:
背景需求:
前文遍历四个文件夹,分别将每个文件夹内的10个图片的左上角加入星号,显示难度系数
【教学类-50-05】20240410“数一数”4类图片添加“难度星号”-CSDN博客文章浏览阅读55次,点赞2次,收藏2次。【教学类-50-05】20240410“数一数”4类图片添加“难度星号”https://blog.csdn.net/reasonsummer/article/details/137595258
素材准备:
一、深色模板
二、浅色模板
代码展示
'''
把图片插入模板,生成4个pdf,合并成1个打印用的pdf
作者:AI对话大师,阿夏
时间:2024年4月8日
'''import os,time
import glob
from docx import Document
from docx.shared import Cmpath = r'C:\Users\jg2yXRZ\OneDrive\桌面\个别化'item=['01框内不连接','02框外不连接','03框内连接','04框外连接']
mb=['深','深','浅','浅']for r in range(len(item)):input_folder = os.path.join(path, f'{item[r]}')output_folder = os.path.join(path, '零时文件')# 创建输出文件夹if not os.path.exists(output_folder):os.makedirs(output_folder)# 获取234文件夹内的所有png图片路径image_files = glob.glob(os.path.join(input_folder, '*.png'))# 创建新的docx文档doc = Document(path + fr'\个别化模板({mb[r]}色).docx')# 插入图片到表格中的00格子for i, img_path in enumerate(image_files):table = doc.tables[i % 2]cell = table.cell(0, 0)cell.paragraphs[0].clear() # 清空单元格中原有内容cell.paragraphs[0].alignment = 1 # 设置居中对齐run = cell.paragraphs[0].add_run()run.add_picture(img_path, width=Cm(14.6), height=Cm(14.6))# 每插入两张图片保存一次文件if (i+1) % 2 == 0:doc.save(os.path.join(output_folder, f'{i//2:02d}.docx'))# # 保存为docx文件# doc.save(os.path.join(output_folder, f'{len(image_files)//2:02d}.docx'))time.sleep(1)# 将10个docx转为PDFimport osfrom docx2pdf import convertfrom PyPDF2 import PdfFileMerger# from PyPDF4 import PdfMerger# output_folder = output_folderpdf_output_path = path+fr'\{r+1:02d}个别化.pdf'# 将所有DOCX文件转换为PDFfor docx_file in os.listdir(output_folder):if docx_file.endswith('.docx'):docx_path = os.path.join(output_folder, docx_file)convert(docx_path, docx_path.replace('.docx', '.pdf'))# 合并零时文件里所有PDF文件merger = PdfFileMerger()for pdf_file in os.listdir(output_folder):if pdf_file.endswith('.pdf'):pdf_path = os.path.join(output_folder, pdf_file)merger.append(pdf_path)time.sleep(2)# 保存合并后的PDF文件merger.write(pdf_output_path)merger.close()import shutil# 删除输出文件夹shutil.rmtree(output_folder)# 四个文件合并import os
from PyPDF2 import PdfMergerall_folder = r'C:\Users\jg2yXRZ\OneDrive\桌面\个别化'
output_file = all_folder+r'\合并打印.pdf'# 创建一个PdfMerger对象
merger = PdfMerger()# 遍历输入文件夹中的所有PDF文件
for filename in os.listdir(all_folder):if filename.endswith('.pdf'):filepath = os.path.join(all_folder, filename)merger.append(filepath)# 合并PDF文件并保存为输出文件
merger.write(output_file)
merger.close()