使用python-pptx包批量修改ppt格式的實(shí)現(xiàn)
最近實(shí)習(xí)需要對若干ppt進(jìn)行格式上的調(diào)整,主要就是將標(biāo)題的位置、對齊方式、字體等統(tǒng)一,人工修改又麻煩又容易錯(cuò)。
因此結(jié)合網(wǎng)上的pptx包資料,使用python腳本完成處理。
主要的坑點(diǎn)在于,shape的text_frame不能直接修改字體,甚至paragraph也不行,由于一個(gè)框里多個(gè)字體存在,它會報(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)文章
Python調(diào)用C++,通過Pybind11制作Python接口
今天小編就為大家分享一篇關(guān)于Python調(diào)用C++,通過Pybind11制作Python接口,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10Python中內(nèi)置數(shù)據(jù)類型list,tuple,dict,set的區(qū)別和用法
這篇文章主要給大家介紹了Python中內(nèi)置數(shù)據(jù)類型list,tuple,dict,set的區(qū)別和用法,都是非常基礎(chǔ)的知識,十分的細(xì)致全面,有需要的小伙伴可以參考下。2015-12-12Python光學(xué)仿真wxpython透鏡演示系統(tǒng)計(jì)算與繪圖
這篇文章主要為大家介紹了Python光學(xué)仿真wxpython透鏡演示系統(tǒng)計(jì)算與繪圖的實(shí)現(xiàn)示例。有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10centos 自動(dòng)運(yùn)行python腳本和配置 Python 定時(shí)任務(wù)
這篇文章主要介紹了centos 自動(dòng)運(yùn)行python腳本和配置 Python 定時(shí)任務(wù),文章內(nèi)容介紹詳細(xì),需要的小伙伴可以參考一下,希望對你有所幫助2022-03-03Python創(chuàng)建模塊及模塊導(dǎo)入的方法
這篇文章主要介紹了Python創(chuàng)建模塊及模塊導(dǎo)入的方法,實(shí)例分析了模塊的定義、導(dǎo)入及模塊屬性的使用技巧,并附帶說明了包的概念與用法,需要的朋友可以參考下2015-05-05