使用python-pptx包批量修改ppt格式的實(shí)現(xiàn)
最近實(shí)習(xí)需要對(duì)若干ppt進(jìn)行格式上的調(diào)整,主要就是將標(biāo)題的位置、對(duì)齊方式、字體等統(tǒng)一,人工修改又麻煩又容易錯(cuò)。
因此結(jié)合網(wǎng)上的pptx包資料,使用python腳本完成處理。
主要的坑點(diǎn)在于,shape的text_frame不能直接修改字體,甚至paragraph也不行,由于一個(gè)框里多個(gè)字體存在,它會(huì)報(bào)為“None”,需要進(jìn)一步去run層修改。
from pptx import Presentation
from pptx.enum.text import PP_ALIGN
prs = Presentation('originalppt.pptx') #導(dǎo)入ppt
sthead=prs.slides[2].shapes[1] #以第3張ppt為標(biāo)準(zhǔn)標(biāo)題格式
print(sthead.text)
stleft=sthead.left
stwidth=sthead.width
sttop=sthead.top
stheight=sthead.height
#進(jìn)行逐個(gè)修改
i=1
for slide in prs.slides:
for shape in slide.shapes:
if shape.has_text_frame:
if 36000<shape.left<1200000 and shape.height<1400000:
ftname=(shape.text_frame.paragraphs[0].runs[0].font.name)
ftsize=int(shape.text_frame.paragraphs[0].runs[0].font.size.pt)
if (ftsize>27):
head=shape
head.left=stleft
head.top=sttop
head.width=10080000
head.height=stheight
head.text_frame.vertical_anchor = MSO_ANCHOR.MIDDLE
head.text_frame.paragraphs[0].line_spacing=1
for paragraph in head.text_frame.paragraphs:
for run in paragraph.runs:
run.font.size = 32*12700
run.font.name = '宋體'
#print(i,'ok')
i +=1
prs.save('adjnew.pptx') #保存修改后的ppt
以上這篇使用python-pptx包批量修改ppt格式的實(shí)現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
django 連接數(shù)據(jù)庫出現(xiàn)1045錯(cuò)誤的解決方式
這篇文章主要介紹了django 連接數(shù)據(jù)庫出現(xiàn)1045錯(cuò)誤的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python?pyinstaller打包exe最新完整圖文教程
pyinstaller是一個(gè)非常簡單的打包python的py文件的庫,下面這篇文章主要給大家介紹了關(guān)于Python?pyinstaller打包exe的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
利用 Flask 動(dòng)態(tài)展示 Pyecharts 圖表數(shù)據(jù)方法小結(jié)
本文將介紹如何在 web 框架 Flask 中使用可視化工具 pyecharts, 看完本教程你將掌握幾種動(dòng)態(tài)展示可視化數(shù)據(jù)的方法。感興趣的朋友跟隨小編一起看看吧2019-09-09
golang/python實(shí)現(xiàn)歸并排序?qū)嵗a
這篇文章主要給大家介紹了關(guān)于golang/python實(shí)現(xiàn)歸并排序的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
python smtplib模塊自動(dòng)收發(fā)郵件功能(二)
這篇文章主要為大家詳細(xì)介紹了python smtplib模塊自動(dòng)收發(fā)郵件功能的第二篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
詳解pandas刪除缺失數(shù)據(jù)(pd.dropna()方法)
這篇文章主要介紹了pandas刪除缺失數(shù)據(jù)(pd.dropna()方法),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
Python入門必須知道的11個(gè)知識(shí)點(diǎn)
這篇文章主要為大家詳細(xì)介紹了Python入門必須知道的11個(gè)知識(shí)點(diǎn),幫助更好地了解python,感興趣的小伙伴們可以參考一下2018-03-03

