程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python自動化系列之python操作pptx文件

編輯:Python

ppt文檔是日常辦公中經常用到的工具,好的ppt文檔需要大量的時間和精力去寫,但是簡單的ppt文檔,可以使用python批量生成;

python-pptx介紹

python-pptx是用於創建和更新PowerPoint文件的python庫。可以用於添加幻燈片,填充文本占位符,添加圖像、文本框,添加操作圖形、標題、主題屬性,流程圖等以及在表格中添加幻燈片等等。

python-pptx的使用可以參考官方文檔:文檔地址

python-pptx的簡單使用:

  • 安裝與引入
    安裝python-pptx推薦是使用pip方式,直接在終端執行命令:

    pip install python-pptx

    引入庫,引入庫的名稱不是安裝時的python-pptx,而是:

    import pptx

  • 需要了解的一些基本概念:
    PPT基本結構在python分別是什麼含義:
    Slide:幻燈片,就是演示文稿中每一頁的頁面。
    Shape:方框,在每頁幻燈片內插入的方框,可以是形狀,也可以是文本框。
    Run:文字塊,一般為較少字符。
    Paragraph:段落,通常有序號ㆍ、1.等。

  • 寫操作
    1、初始化ppt:

    from pptx import Presentation
    from pptx.util import Inches,Pt
    ppt = Presentation()

    2、插入ppt頁面

    slide_1 = ppt.slides.add_slide(ppt.slide_layouts[0]) 插入一頁幻燈片,使用布局0
    shape_1 = slide_1.shapes.placeholders # 獲取此頁ppt的所有占位符
    shape_1[0].text = ‘占位符’ # 對shape[0]寫入內容
    shape_1[1].text = ‘Python操作PPT’ # 對shape[1]寫入內容

    3、保存文件:

    ppt.save(‘python.pptx’)

    完整代碼:

    def create():'''創建ppt'''from pptx import Presentationfrom pptx.util import Inches,Ptppt = Presentation() # 初始化ppt#------------------# 第一頁PPTslide_1 = ppt.slides.add_slide(ppt.slide_layouts[0]) # 插入一頁幻燈片,使用布局0shape_1 = slide_1.shapes.placeholders # 獲取此頁ppt的所有占位符shape_1[0].text = '占位符' # 對shape[0]寫入內容shape_1[1].text = 'Python操作PPT' # 對shape[1]寫入內容#------------------##------------------# 第二頁PPTslide_3 = ppt.slides.add_slide(ppt.slide_layouts[5]) # 插入一頁幻燈片,使用布局5slide_3.shapes.placeholders[0].text = 'test' # 對第三頁PPT的第一個shape寫入內容picture = slide_3.shapes.add_picture('picture.jpg',left=Inches(3.2),top=Inches(2),width=Inches(3.5),height=Inches(5)) # 插入圖片#------------------##------------------# 第四頁PPTslide_4 = ppt.slides.add_slide(ppt.slide_layouts[6]) # 插入一頁幻燈片,使用布局6table = slide_4.shapes.add_table(rows=2,cols=2,left=Inches(2),top=Inches(2),width=Inches(5),height=Inches(2)).table # 插入表格table.columns[0].width = Inches(2) # 設置第0列的寬度table.columns[1].width = Inches(3) # 設置第1列的寬度#添加內容table.cell(0,0).text = 'ppt'table.cell(0,1).text = '對應庫'table.cell(1,0).text = 'Python'table.cell(1,1).text = 'python-pptx'#------------------#ppt.save('python.pptx')
  • 更新操作:
    先創建好一個ppt,調整好格式,然後通過python修改

  • 獲取各種占位符的方法集合

獲取此頁ppt的所有占位符:shape = slide.shapes.placeholders # 占位符:placeholders
對shape[num]寫入內容:shape[num].text = ‘xx’
獲取此頁ppt標題的shape:title_shape = slide.shapes.title
對標題shape寫入內容:title_shape.text = ‘xx’
在shape[num]添加段落:para = shape[num].text_frame.add_paragraph()
對段落寫入內容:para.text = ‘xx’
設置段落字體是否粗體:para.font.blod = True
設置段落字體大小:para.font.size = Pt(num)
設置段落是否添加字體下劃線:para.font.underline = True
插入文本框:textBox = slide.shapes.add_textbox(left,top,width,height)
插入圖片:picture = slide.shapes.add_picture(‘圖片’,left,top,width,height)
插入表格:table = slide.shapes.add_table(rows=num,cols=num,left,top,width,height).table
設置表格第n列的寬度:table.columns[n].width = Inches(num)
表格單元格寫入內容:table.cell(x,y).text = ‘xx’


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved