詳解Python如何向PPT中批量插入圖片
辦公自動(dòng)化辦公中,Python最大的優(yōu)勢(shì)是可以批量操作,省去了用戶粘貼、復(fù)制、插入等繁瑣的操作。經(jīng)常做PPT的朋友都知道,把圖片插入到PPT當(dāng)中的固定位置是一個(gè)非常繁瑣的操作,往往調(diào)整圖片時(shí)耗費(fèi)大量的時(shí)間和精力。如何能省時(shí)省力插入圖片呢?今天我們來(lái)一起探索一下批量插入圖片到PPT的三種辦法。
一、手工操作
在WPS幻燈片中,通過(guò)插入——分頁(yè)插圖——再選擇要插入的圖片,就可以批量把圖片插入到PPT當(dāng)中,不過(guò)此時(shí)插入的位置默認(rèn)是PPT的中間位置,就是說(shuō)無(wú)法按照指定的位置插入。
最后的效果如下,每張圖片都會(huì)居中顯示:
二、用python-pptx模塊
如果用Python的話,就可以批量插入,而且可以插入指定位置,這樣可以大大節(jié)省插入的時(shí)間。
實(shí)現(xiàn)的過(guò)程也很簡(jiǎn)單,主要是導(dǎo)入指定模塊,利用os來(lái)遍歷所有的圖片,然后創(chuàng)建ppt對(duì)象,插入空白的slide,然后通過(guò)循環(huán)的辦法把圖片插入到幻燈片中。根據(jù)圖片距離左、上、高度來(lái)最終確定其位置。
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的類(lèi)似。過(guò)程也是首先遍歷得到圖片的地址,然后創(chuàng)建PPT對(duì)象,通過(guò)添加空白slide,把圖片插入的辦法來(lái)實(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: # 訪問(wèn)第一張幻燈片 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)過(guò)實(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)文章
Python實(shí)現(xiàn)簡(jiǎn)單圖像縮放與旋轉(zhuǎn)
大家好,本篇文章主要講的是Python實(shí)現(xiàn)簡(jiǎn)單圖像縮放與旋轉(zhuǎn),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01關(guān)于Python3 lambda函數(shù)的深入淺出
今天小編就為大家分享一篇關(guān)于Python3 lambda函數(shù)的深入淺出,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Python3使用Matplotlib 繪制精美的數(shù)學(xué)函數(shù)圖形
這篇文章主要介紹了Python3使用Matplotlib 繪制精美的數(shù)學(xué)函數(shù)圖形,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04python利用urllib實(shí)現(xiàn)爬取京東網(wǎng)站商品圖片的爬蟲(chóng)實(shí)例
下面小編就為大家?guī)?lái)一篇python利用urllib實(shí)現(xiàn)爬取京東網(wǎng)站商品圖片的爬蟲(chóng)實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08python實(shí)現(xiàn)得到一個(gè)給定類(lèi)的虛函數(shù)
這篇文章主要介紹了python實(shí)現(xiàn)得到一個(gè)給定類(lèi)的虛函數(shù)的方法,以wx的PyPanel類(lèi)為例講述了打印以base_開(kāi)頭的方法的實(shí)例,需要的朋友可以參考下2014-09-09六個(gè)Python編程最受用的內(nèi)置函數(shù)使用詳解
在日常的python編程中使用這幾個(gè)函數(shù)來(lái)簡(jiǎn)化我們的編程工作,經(jīng)常使用能使編程效率大大地提高。本文為大家總結(jié)了六個(gè)Python編程最受用的內(nèi)置函數(shù),感興趣的可以了解一下2022-07-07Pytest實(shí)現(xiàn)setup和teardown的詳細(xì)使用詳解
這篇文章主要介紹了Pytest實(shí)現(xiàn)setup和teardown的詳細(xì)使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Python字典的概念及常見(jiàn)應(yīng)用實(shí)例詳解
這篇文章主要介紹了Python字典的概念及常見(jiàn)應(yīng)用,結(jié)合實(shí)例形式詳細(xì)的分析了Python字典的概念、原理、創(chuàng)建、常見(jiàn)操作函數(shù)與使用注意事項(xiàng),需要的朋友可以參考下2019-10-10