#pptx模块安装:pip install python-pptx
import os
from PIL import Image, ImageOps
from pptx import Presentation
from pptx.util import Inches, Pt, Cm
#裁剪图片白边
def crop_margin(img_fileobj, out, padding=(0, 0, 0, 0)):
image = Image.open(img_fileobj).convert('RGB')
ivt_image = ImageOps.invert(image)
bbox = ivt_image.getbbox()
left = bbox[0] - padding[0]
top = bbox[1] - padding[1]
right = bbox[2] + padding[2]
bottom = bbox[3] + padding[3]
cropped_image = image.crop([left, top, right, bottom])
cropped_image.save(out)
return
#生成空白页
def new_page(prs, SLD_LAYOUT_TITLE_AND_CONTENT = 6):
slide_layout = prs.slide_layouts[SLD_LAYOUT_TITLE_AND_CONTENT]
slide = prs.slides.add_slide(slide_layout)
return slide
#按照预设版式添加图片
def Add_pic(slide, img, img_left, img_top, img_height):
img_path = img
left = Cm(img_left)
top = Cm(img_top)
pic = slide.shapes.add_picture(img_path, left, top, height=Cm(img_height))
#主程序代码
if __name__ == "__main__":
prs = Presentation() # 新建ppt
prs.slide_width = Cm(33.867) # 调整页面大小
prs.slide_height = Cm(19.05)
imagePath = r'C:\Users\Administrator\Desktop\aaa'
imgs = os.listdir(imagePath)
imgs.sort()
imgs_list = [os.path.join(imagePath, i) for i in imgs if i[-4:] == '.png']
for ith,img in enumerate(imgs_list):
crop_margin(img, img) #切除图片白边
print(ith, img)
res = ith % 16 # 这里以一页ppt放16张图为例,获取图片序号
if res == 0: slide = new_page(prs) # 如果是第一张图,则新建空白页
# 指定每一张图的位置信息(可以先手动贴图获取 )
if res in [0, 4, 8, 12]: img_left = 0.12 #第一列
if res in [1, 5, 9, 13]: img_left = 8.47 #第二列
if res in [2, 6, 10, 14]: img_left = 16.94 #第三列
if res in [3, 7, 11, 15]: img_left = 25.38
if res in [ 0, 1, 2, 3]: img_top = 0.05 #第一行
if res in [ 4, 5, 6, 7]: img_top = 4.64
if res in [ 8, 9, 10, 11]: img_top = 9.25
if res in [12, 13, 14, 15]: img_top = 13.91
Add_pic(slide, img, img_left, img_top, 5) # 贴图
prs.save(imagePath+'/pic.pptx') # 保存ppt
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Python自动生成ppt并批量贴图。zip,是一个使用Python进行自动化办公的实用工具包。该文件包主要功能是帮助用户通过Python代码自动创建PowerPoint幻灯片(PPT),并在其中批量插入图片。这可以极大地提高工作效率,减少重复性劳动,特别适合需要大量制作PPT报告或演示文稿的用户。该工具包中可能包含一些Python库,如python-pptx,这是一个能够读写PowerPoint (.pptx) 文件的Python库。用户可以通过编写Python脚本,调用这些库中的函数和方法,实现自动化创建PPT,以及在PPT中插入图片的功能。例如,用户可以先创建一个空的PPT,然后通过循环语句,批量插入图片到每一张幻灯片中。此外,用户还可以设置图片的大小、位置等属性,以满足不同的需求。总的来说,Python自动生成ppt并批量贴图。zip是一个非常实用的自动化办公工具包,能够帮助用户快速高效地完成PPT制作任务。重新回答||
资源推荐
资源详情
资源评论
收起资源包目录
python自动生成ppt并批量贴图.zip (1个子文件)
python自动生成ppt并批量贴图
python自动生成ppt并批量贴图.txt 2KB
共 1 条
- 1
资源评论
Data-Miner
- 粉丝: 3091
- 资源: 3837
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功