python ppt pdf linux,带你用Python玩转PPT
如上圖所示,通過幻燈片母版我們可以預設好各種各樣的版式,后面新建幻燈片的時候只需要點擊版式就可以一鍵生成所需的基本格式。
接著說說占位符 Placeholder
占位符已經完成了樣式設置,包括字體、字號、顏色等等,在特定占位符內輸入文字可直接轉化為特定的樣式
3、創建 PPT 文件的基本思路
創建一個 PPT
從幻燈片母版中確定一個版式
在不同的占位符中填寫不同的內容
添加圖片、表格等額外內容
對樣式進行修改
Python讀取PPT
1、打開PPT文件
from pptx import Presentation# 這里給出需要打開的文件路徑file_path = r'...'pptx = Presentation(file_path)
2、獲取幻燈片頁
用 pptx.slides 可以獲得一個列表,包括所有的幻燈片頁 slide 對象
for slide in pptx.slides:print(slide)
3、獲取形狀
只要熟悉了類似 Excel 和 Word 的多級結構, PPT 的結構就很好理解了。每一個幻燈片頁都有一個或者多個形狀 shape
for slide in pptx.slides:for shape in slide.shapes:print(shape)
4、獲取文本框內容
要獲取文字內容,很容易就聯系到文字在形狀 shape 的下級結構了 從 Word 中的學習我們也可以推知,文字的承載單位是段落 paragraph和文字塊 run
很自然可以想到用下列的代碼獲取文字
for slide in pptx.slides:for shape in slide.shapes:for paragraph in shape.paragraphs:print(paragraph.text)
或者
for slide in pptx.slides:for shape in slide.shapes:for paragraph in shape.paragraphs:for run in paragraph.runs:print(run.text)
但這里出現了一個問題:每個形狀里一定有文字嗎?
從上圖可以看到,藍色橢圓的形狀里是沒有任何文字的,中間的大虛線框有文字
一個形狀中有沒有文字,關鍵就在于它有沒有包含文本框 text_frame,下面是與文本框有關的操作:
shape.has_text_frame 判斷形狀中是否有文字框
shape.text_frame 獲取文字內容
在PPT中,文字框才是文字的載體,因此獲取文字的代碼如下:
for slide in pptx.slides:for shape in slide.shapes:if shape.has_text_frame:text_frame = shape.text_frameprint(text_frame.text)
到這里,我們需要對先前對 PPT 結構的認識進行修正:
5、獲取段落和文字塊
每一個文本框都可以看成是一個小的 Word 文件,里面有段落和文字塊兩級結構:
for slide in pptx.slides:for shape in slide.shapes:if shape.has_text_frame:text_frame = shape.text_framefor paragraph in text_frame.paragraphs:for run in paragraph.runs:print(run.text)
寫入 PPT
創建全新 PPT 的代碼可以類比創建 Word 文件的代碼,實例化的過程中不給予具體路徑則為創建空白文件
1、創建幻燈片頁
其中占位符編號是區分占位符的依據,也是寫入內容的依據
2、往占位符填寫內容
指定占位符編號就可以在具體位置寫入特定內容
slide.placeholders[占位符編號].text = '...'
修改 PPT 樣式
1、段落樣式修改
可以同 python-docx 模塊對段落樣式的導入進行類比
具體的方法上二者也有很多相似:
.add_run(): 添加新的文字塊
.line_spacing: 段內行間距
.runs : 段落內的所有文字塊
.space_after : 段后距
.space_before : 段前距
2、文字樣式修改
文字樣式方法和 Word 中的使用是相同的:
.font.name : 字體名稱
.font.bold : 是否加粗
.font.italic : 是否斜體
.font.color : 字體顏色
.font.size: 字體大小
但有一個地方需要加以區別:在python-pptx 中,使用文字樣式方法是基于段落,也就是 paragraph.font.xxxx, 而在 python-docx中,使用文字樣式方法是基于文字塊
學完了這篇Python操作PPT之后,有關Python操作Word、Excel、PPT、PDF的基礎就全部講解完畢,之后我們會繼續更新使用這些工具實現自動化辦公的案例,如果你還不知道具體該如何應用,下面這些案例可能會有所幫助:
👉Python辦公自動化從PPT到Word
👉Python辦公自動化從Word到Excel
👉Python辦公自動化從Excel到Word
總結
以上是生活随笔為你收集整理的python ppt pdf linux,带你用Python玩转PPT的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arm linux 64位,微软准备让L
- 下一篇: redis伪集群安装linux,redi