詳解Python如何向PPT中批量插入圖片
辦公自動(dòng)化辦公中,Python最大的優(yōu)勢(shì)是可以批量操作,省去了用戶粘貼、復(fù)制、插入等繁瑣的操作。經(jīng)常做PPT的朋友都知道,把圖片插入到PPT當(dāng)中的固定位置是一個(gè)非常繁瑣的操作,往往調(diào)整圖片時(shí)耗費(fèi)大量的時(shí)間和精力。如何能省時(shí)省力插入圖片呢?今天我們來一起探索一下批量插入圖片到PPT的三種辦法。
一、手工操作
在WPS幻燈片中,通過插入——分頁插圖——再選擇要插入的圖片,就可以批量把圖片插入到PPT當(dāng)中,不過此時(shí)插入的位置默認(rèn)是PPT的中間位置,就是說無法按照指定的位置插入。

最后的效果如下,每張圖片都會(huì)居中顯示:

二、用python-pptx模塊
如果用Python的話,就可以批量插入,而且可以插入指定位置,這樣可以大大節(jié)省插入的時(shí)間。
實(shí)現(xiàn)的過程也很簡(jiǎn)單,主要是導(dǎo)入指定模塊,利用os來遍歷所有的圖片,然后創(chuàng)建ppt對(duì)象,插入空白的slide,然后通過循環(huán)的辦法把圖片插入到幻燈片中。根據(jù)圖片距離左、上、高度來最終確定其位置。
from pptx import Presentation
from pptx.util import Inches
import os
# 獲取當(dāng)前目錄下所有的png文件
pics = [file for file in os.listdir(".") if file.endswith(".png")]
# 創(chuàng)建一個(gè)演示文稿對(duì)象
prs = Presentation()
for pic in pics:
# 添加一張新幻燈片
slide_layout = prs.slide_layouts[5] # 使用空白布局
slide = prs.slides.add_slide(slide_layout)
# 添加圖片到幻燈片
img_path = pic
left = Inches(5.8)
top = Inches(2)
height = Inches(3.5)
slide.shapes.add_picture(img_path, left, top, height=height)
# 保存演示文稿
prs.save('add-image-in-presentation.pptx')三、利用Aspose.slides這個(gè)模塊
Aspose模塊的辦法和python-pptx的類似。過程也是首先遍歷得到圖片的地址,然后創(chuàng)建PPT對(duì)象,通過添加空白slide,把圖片插入的辦法來實(shí)現(xiàn)。
import aspose.slides as slides
import os
pics = [file for file in os.listdir(".") if file.endswith(".png")]
# 創(chuàng)建演示文稿
with slides.Presentation() as pres:
# 訪問第一張幻燈片
for num,pic in enumerate(pics,0):
slide = pres.slides.add_empty_slide(pres.layout_slides[0])
# 從文件加載圖像
with open(pic, "rb") as in_file:
# 將圖像添加到演示文稿的圖像集
image = pres.images.add_image(in_file)
# 將圖像添加到幻燈片
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 20, 20, 100, 100, image)
# 保存演示文稿
pres.save("add-image-in-presentation.pptx", slides.export.SaveFormat.PPTX)slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 20, 20, 100, 100, image)這行代碼中,前2個(gè)數(shù)是是圖片距離左側(cè)和右側(cè)的距離。
四、學(xué)后總結(jié)
經(jīng)過實(shí)驗(yàn)Python-pptx這個(gè)模塊插入圖片的速度更快,因此建議使用第二種方法。
Aspose.slides這個(gè)模塊比較大,而且是收費(fèi)的,如果是免費(fèi)的生成的PPT中有水印,還要去除才可以。
到此這篇關(guān)于詳解Python如何向PPT中批量插入圖片的文章就介紹到這了,更多相關(guān)Python PPT批量插入圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
YOLOv5車牌識(shí)別實(shí)戰(zhàn)教程(三)模型訓(xùn)練與評(píng)估
這篇文章主要介紹了YOLOv5車牌識(shí)別實(shí)戰(zhàn)教程(三)模型訓(xùn)練與評(píng)估,在這個(gè)教程中,我們將一步步教你如何使用YOLOv5進(jìn)行車牌識(shí)別,幫助你快速掌握YOLOv5車牌識(shí)別技能,需要的朋友可以參考下2023-04-04
Python 機(jī)器學(xué)習(xí)工具包SKlearn的安裝與使用
Sklearn(全稱 SciKit-Learn),是基于 Python 語言的機(jī)器學(xué)習(xí)工具包。本文將簡(jiǎn)單的介紹SKlearn安裝與使用,想要入坑機(jī)器學(xué)習(xí)的同學(xué)可以參考下2021-05-05
Django結(jié)合WebSockets和異步視圖實(shí)現(xiàn)實(shí)時(shí)通信功能
在現(xiàn)代Web應(yīng)用程序中,實(shí)時(shí)通信已經(jīng)成為了必不可少的功能之一,這篇文章主要介紹了如何利用Django中的WebSockets和異步視圖來實(shí)現(xiàn)實(shí)時(shí)通信功能,需要的可以參考下2024-04-04
python基礎(chǔ)知識(shí)小結(jié)之集合
本文給大家小結(jié)了一下Python中集合的基礎(chǔ)知識(shí),非常的簡(jiǎn)單易懂,有需要的小伙伴可以參考下。2015-11-11
Python3+selenium實(shí)現(xiàn)cookie免密登錄的示例代碼
這篇文章主要介紹了Python3+selenium實(shí)現(xiàn)cookie免密登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Python 尋找局部最高點(diǎn)的實(shí)現(xiàn)
今天小編就為大家分享一篇Python 尋找局部最高點(diǎn)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
記一次pyinstaller打包pygame項(xiàng)目為exe的過程(帶圖片)
這篇文章主要介紹了記一次pyinstaller打包pygame項(xiàng)目為exe的過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

