當前位置: 妍妍網 > 碼農

python-pptx,一個無敵的 Python 庫!

2024-04-21碼農

更多Python學習內容:i pengtao.com

大家好,今天為大家分享一個無敵的 Python 庫 - python-pptx。

Github地址:https://github.com/scanny/python-pptx

Python python-pptx庫是一個用於生成和操作PowerPoint演示文稿(PPT)的工具,提供了豐富的功能和靈活的API,可以幫助開發者輕松建立和編輯PPT檔。本文將介紹如何安裝和使用python-pptx庫,以及它的特性、基本功能、高級功能、實際套用場景和總結部份。

安裝

首先,需要安裝python-pptx庫。

可以使用pip工具輕松安裝:

pip install python-pptx

安裝完成後,可以開始使用python-pptx庫來生成和操作PPT檔。

特性

  • 建立投影片:可以輕松建立新的投影片。

  • 添加文本和影像:可以在投影片中添加文字域、影像和形狀等元素。

  • 格式設定:可以設定文本樣式、字型、顏色、對齊方式等。

  • 頁面布局:支持多種頁面布局和主題樣式。

  • 動畫效果:可以添加動畫效果和轉場效果。

  • 基本功能

    1. 建立新的投影片

    from pptx import Presentation
    # 建立Presentation物件
    prs = Presentation()
    # 添加新的投影片
    slide_layout = prs.slide_layouts[0] # 選擇第一個投影片布局
    slide = prs.slides.add_slide(slide_layout)

    在這個範例中,建立了一個新的Presentation物件,並添加了一個新的投影片。

    2. 添加文本和影像

    from pptx.util import Inches
    # 在投影片中添加文字域
    text_box = slide.shapes.add_textbox(Inches(1), Inches(1), Inches(4), Inches(2))
    text_frame = text_box.text_frame
    text_frame.text = "Hello, Python-pptx!"
    # 在投影片中添加影像
    img_path = 'path/to/image.png'
    slide.shapes.add_picture(img_path, Inches(1), Inches(3), Inches(4), Inches(2))

    在這個範例中,在投影片中添加了一個文字域和一個影像。

    高級功能

    1. 添加表格

    python-pptx庫支持在投影片中添加表格,並可以設定表格的樣式和內容。

    from pptx.util import Inches
    from pptx.enum.text import PP_ALIGN
    from pptx.enum.table import *
    # 添加表格到投影片
    table = slide.shapes.add_table(rows=3, cols=3, left=Inches(1), top=Inches(4), width=Inches(5), height=Inches(2))
    # 設定表格樣式
    table.border_width = Inches(0.1)
    table.first_row = True
    # 設定表格內容和樣式
    for row in table.rows:
    for cell in row.cells:
    cell.text = "Cell"
    cell.text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER

    在這個範例中,建立了一個3行3列的表格,並設定了表格的樣式和內容。

    2. 添加圖表

    python-pptx庫還支持在投影片中添加圖表,如柱狀圖、折線圖等,並可以設定圖表的數據和樣式。

    from pptx.chart.data import CategoryChartData
    from pptx.enum.chart import XL_CHART_TYPE
    # 添加圖表到投影片
    chart_data = CategoryChartData()
    chart_data.categories = ['A''B''C']
    chart_data.add_series('Series 1', (123))
    chart = slide.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, Inches(1), Inches(6), Inches(5), Inches(3), chart_data).chart

    在這個範例中,建立了一個柱狀圖,並設定了圖表的數據和樣式。

    3. 添加動畫效果

    python-pptx庫還支持在投影片中添加動畫效果,如淡入、放大縮小等,並可以設定動畫的持續時間和延遲時間。

    from pptx.util import Pt
    from pptx.enum.shapes import MSO_SHAPE
    from pptx.enum.text import PP_ALIGN
    from pptx.dml.color import RGBColor
    # 添加形狀到投影片
    shape = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(1), Inches(1), Inches(2), Inches(1))
    shape.text = "Animated Shape"
    shape.text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER
    shape.text_frame.paragraphs[0].font.size = Pt(24)
    shape.fill.solid()
    shape.fill.fore_color.rgb = RGBColor(25500) # 設定形狀填充顏色為紅色
    # 添加淡入動畫效果
    effect = slide.shapes._spTree.insert(2, OxmlElement('p:fade'))
    effect.set('start''onLoad')
    effect.set('dur''1000ms')
    effect.set('fadeColor''black')

    在這個範例中,添加了一個形狀並設定了文本和樣式,然後添加了一個淡入動畫效果。

    實際套用場景

    1. 企業報告

    python-pptx庫可以用於生成精美的企業報告PPT,包括公司介紹、業務展示、財務數據等內容。

    from pptx import Presentation
    from pptx.util import Inches
    # 建立Presentation物件
    prs = Presentation()
    # 添加新的投影片
    slide_layout = prs.slide_layouts[1] # 選擇第二個投影片布局(標題和文本)
    slide = prs.slides.add_slide(slide_layout)
    # 添加標題和文字域
    title = slide.shapes.title
    title.text = "公司介紹"
    text_box = slide.shapes.add_textbox(Inches(1), Inches(1.5), Inches(8), Inches(5))
    text_frame = text_box.text_frame
    text_frame.text = "這裏是公司介紹的內容..."
    # 保存PPT檔
    prs.save('company_presentation.pptx')



    在這個範例中,建立了一個企業報告的PPT,包括了公司介紹的標題和文本內容。

    2. 教育培訓

    python-pptx庫可以用於制作教育培訓課件,增加圖文並茂的效果,提升學習和教學效果。

    from pptx import Presentation
    from pptx.util import Inches
    # 建立Presentation物件
    prs = Presentation()
    # 添加新的投影片
    slide_layout = prs.slide_layouts[5] # 選擇第六個投影片布局(標題和兩列文本)
    slide = prs.slides.add_slide(slide_layout)
    # 添加標題和兩列文本
    title = slide.shapes.title
    title.text = "Python編程課程"
    left_column = slide.placeholders[1]
    left_column.text = "Python基礎知識"
    right_column = slide.placeholders[2]
    right_column.text = "Python高級編程"
    # 保存PPT檔
    prs.save('python_course.pptx')




    在這個範例中,建立了一個Python編程課程的PPT,分別展示了Python基礎知識和高級編程的內容。

    3. 演示展示

    python-pptx庫可以用於制作演講或展示用的PPT,增加專業性和美觀度,提升演示效果和吸重力。

    from pptx import Presentation
    from pptx.util import Inches
    # 建立Presentation物件
    prs = Presentation()
    # 添加新的投影片
    slide_layout = prs.slide_layouts[5] # 選擇第六個投影片布局(標題和兩列文本)
    slide = prs.slides.add_slide(slide_layout)
    # 添加標題和兩列文本
    title = slide.shapes.title
    title.text = "新產品釋出會"
    left_column = slide.placeholders[1]
    left_column.text = "產品介紹"
    right_column = slide.placeholders[2]
    right_column.text = "市場行銷策略"
    # 添加圖片
    img_path = 'path/to/product_image.png'
    slide.shapes.add_picture(img_path, Inches(5), Inches(1.5), Inches(3), Inches(4))
    # 保存PPT檔
    prs.save('product_presentation.pptx')





    在這個範例中,建立了一個新產品釋出會的PPT,展示了產品介紹、市場行銷策略和產品圖片。

    總結

    Python python-pptx庫是一個功能強大的Python工具,用於生成和編輯PowerPoint演示文稿(PPT)。它提供了豐富的API和功能,包括建立投影片、添加文本、影像、表格和圖表、設定樣式和動畫效果等。該庫適用於多種實際套用場景,如企業報告、教育培訓、演示展示等,能夠幫助使用者輕松制作出精美、專業的PPT檔。總之,Python python-pptx庫為使用者提供了一種便捷、靈活的方式來處理和生成PPT內容,是一款值得推薦的工具。

    如果你覺得文章還不錯,請大家 點贊、分享、留言 下,因為這將是我持續輸出更 多優質文章的最強動力!

    更多Python學習內容: ipengtao.com

    果想要系統學習Python、Python問題咨詢,或者考慮做一些工作以外的副業,都可以掃描二維碼添加微信,圍觀朋友圈一起交流學習。

    我們還為大家準備了Python資料和副業計畫合集,感興趣的小夥伴快來找我領取一起交流學習哦!

    往期推薦

    點選 閱讀原文 ,獲得更多精彩內容