通過python-pptx模塊操作ppt文件的方法
ppt通過其精美的可視化技巧以及良好的演示效果,成為了職場人士的必備技能。ppt的設計是一門大學問,無論是設計技巧,還是操作方法,都衍生出了專門的課程。
本文主要介紹python操作ppt的技巧,編程的優勢在于處理速度,對于高大上的ppt設計,還是需要'以人為本', 所以該模塊的使用場景主要是ppt基本元素的提取和添加,適合大量內容的轉化,比如word轉ppt, 減少大量繁瑣的人工操作,盡管提供了一些基本的樣式設計,但是并不能滿足日常辦公對ppt美觀性的要求。
在該模塊中,將ppt拆分為了以下多個元素
1. presentations, 表示整個ppt文檔
2. sliders. 表示ppt文檔的每一頁
3. shapes
4. placeholders
上述分類對應的常用操作如下
1. presentations
用于打開,創建,保存ppt文檔,用法如下
>>> from pptx import Presentation# 創建新的ppt文檔>>> prs = Presentation()# 打開一個ppt文檔>>> prs = Presentation(’input.pptx’)# 保存ppt文檔>>> prs.save(’test.pptx’)
2. slides
在創建一頁ppt時,需要指定對應的布局,在該模塊中, 內置了以下9種布局
1. Title
2. Title and Content
3. Section Header
4. Two Content
5. Comparison
6. Title Only
7. Blank
8. Content with Caption
9. Picture with Caption
通過數字下標0到9來訪問,指定布局添加一頁ppt的用法如下
>>> title_slide_layout = prs.slide_layouts[0]>>> slide = prs.slides.add_slide(title_slide_layout)
3. shapes
shapes表示容器,在制作ppt時,各種基本元素,比如文本框,表格,圖片等都占據了ppt的一個部分,或者矩形區域,或者其他各種自定義的形狀。shapes表示所有基本元素的和, 通過如下方式來訪問對應的shapes
shapes = slide.shapes
對于shapes而言,我們可以獲取和設置其各種屬性,比如最常用的text屬性,用法如下
>>> shapes.text = ’hello world’
還可以通過add系列方法來添加各種元素,添加文本框的方法如下
>>> from pptx.util import Inches, Pt>>> left = top = width = height = Inches(1)>>> txBox = slide.shapes.add_textbox(left, top, width, height)>>> tf = txBox.text_frame>>> tf.text = 'first paragraph'>>> p = tf.add_paragraph()>>> p.text = 'second paragraph'
添加表格的方法如下
>>> rows = cols = 2>>> left = top = Inches(2.0)>>> width = Inches(6.0)>>> height = Inches(0.8)>>> table = shapes.add_table(rows, cols, left, top, width, height).table>>> table.columns[0].width = Inches(2.0)>>> table.columns[1].width = Inches(4.0)>>> # write column headings>>> table.cell(0, 0).text = ’Foo’>>> table.cell(0, 1).text = ’Bar’
4. placeholders
shapes表示所有基本元素的總和,而placeholders則表示每一個具體的元素,所以placeholders是shapes的子集, 通過數字下標來訪問對應的placeholder,用法如下
>>> slide.placeholders[1]<pptx.shapes.placeholder.SlidePlaceholder object at 0x03F73A90>>>> slide.placeholders[1].placeholder_format.idx1>>> slide.placeholders[1].name’Subtitle 2’
placeholders是頁面上已有的元素,獲取對應的placeholders之后,可以通過insert系列方法來向其中新添元素。
了解上述層級結構,有助于我們對ppt的讀寫操作。除了寫操作之外,也可以通過讀操作來批量提取ppt中的特定元素,以文字為例,提取方式如下
from pptx import Presentation prs = Presentation(path_to_presentation) text_runs = [] for slide in prs.slides: for shape in slide.shapes: if not shape.has_text_frame: continue for paragraph in shape.text_frame.paragraphs: for run in paragraph.runs: text_runs.append(run.text)
通過該模塊,可以快速搭建ppt的基本框架,也可以批量提取ppt中的特定元素,比如提取文字轉換成word, 或者提取表格轉換成excel文件。總而言之,該模塊適合替代大量繁瑣的人工復制粘貼操作。
到此這篇關于通過python-pptx模塊操作ppt文件的方法的文章就介紹到這了,更多相關python-pptx模塊操作ppt文件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. IDEA 重新導入依賴maven 命令 reimport的方法2. Docker究竟是什么 為什么這么流行 它的優點和缺陷有哪些?3. idea打開多個窗口的操作方法4. Intellij IDEA 閱讀源碼的 4 個絕技(必看)5. JavaScript實現網頁版五子棋游戲6. Java14發布了,再也不怕NullPointerException了7. 如何通過vscode運行調試javascript代碼8. IntelliJ IDEA 統一設置編碼為utf-8編碼的實現9. IntelliJ IDEA 2020.2正式發布,兩點多多總能助你提效10. IntelliJ IDEA設置編碼格式的方法
