MS PowerPoint 是一種流行且常用的應用程序,可讓您使用圖表、圖形、動畫和其他元素創建交互式演示文稿。作為一名程序員,您可能需要從 Python 應用程序中自動執行 PowerPoint 的演示文稿操作功能。在本文中,您將學習如何從頭開始使用 Python 創建 PowerPoint PPT 或 PPTX 演示文稿。此外,我們還將演示如何在 PPT 演示文稿中動態添加幻燈片、文本、表格、圖像和圖表。
- 用於創建 PowerPoint PPT 的 Python 庫 - 免費下載
- 創建 PowerPoint PPT
- 打開現有的 PowerPoint PPT
- 將幻燈片添加到 PPT/PPTX 演示文稿
- 在 PPT 中向幻燈片添加文本
- 在 PPTX 中創建表格
- 在 PPT 中創建圖表
- 在 PowerPoint PPT 中添加圖像
用於創建 PowerPoint PPT PPTX 的 Python 庫 - 免費下載
Aspose.Slides for Python via .NET 是一個強大的 Python 庫,它允許您在沒有 MS Office 的情況下創建和操作 PowerPoint PPT/PPTX。此外,您可以更新現有的演示文稿並將它們轉換為其他格式。您可以使用以下 pip 命令從 PyPI 安裝庫。
> pip install aspose.slides
在 Python 中創建 PowerPoint PPT
首先,讓我們創建一個包含默認添加的空白幻燈片的 PowerPoint 演示文稿。以下步驟展示瞭如何在 Python 中創建 PowerPoint PPT。
- 首先,創建 Presentation 類的一個實例。
- 然後,使用 Presentation.save(string, export.SaveFormat) 方法保存 PPT。
以下代碼示例演示如何在 Python 中創建 PowerPoint PPTX 文件。
import aspose.slides as slides
# 創建一個新的演示文稿
with slides.Presentation() as presentation:
# 訪問默認幻燈片
slide = presentation.slides[0]
# 保存演示文稿
presentation.save("create-presentation.pptx", slides.export.SaveFormat.PPTX)
在 Python 中打開 PowerPoint PPTX
您還可以打開現有演示文稿並更新其內容。為此,您只需在 Presentation 構造函數中提供演示文件的路徑。以下代碼示例顯示瞭如何在 Python 中打開現有的 PPT/PPTX 文件。
import aspose.slides as slides
# 打開演示文稿
with slides.Presentation("presentation.ppt") as presentation:
# 訪問默認幻燈片
slide = presentation.slides[0]
# 保存演示文稿
presentation.save("create-presentation.ppt", slides.export.SaveFormat.PPT)
Python:向 PowerPoint PPT 添加幻燈片
現在讓我們在之前創建的演示文稿中添加一張新幻燈片。您也可以先打開演示文稿,以相同的方式將幻燈片添加到現有演示文稿中(如 上一節 所示)。下面是用Python在PPT/PPTX演示文稿中添加幻燈片的步驟。
- 首先,使用 Presentation 類創建一個新的(或加載現有的)演示文稿。
- 然後,使用 Presentation.slides 屬性獲取幻燈片集合的引用。
- 使用 Presentation.slides.addemptyslide(LayoutSlide) 方法添加幻燈片。
- 最後,使用 Presentation.save(string, export.SaveFormat) 方法保存演示文稿。
以下代碼示例顯示瞭如何使用 Python 在 PowerPoint PPT 中添加幻燈片。
import aspose.slides as slides
# 創建一個新的演示文稿
with slides.Presentation() as pres:
# 獲取幻燈片參考
slds = pres.slides
# 循環佈局幻燈片
for i in range(len(pres.layout_slides)):
# 將空幻燈片添加到幻燈片集合
slds.add_empty_slide(pres.layout_slides[i])
# 在新添加的幻燈片上做一些工作
# 將 PPTX 文件保存到磁盤
pres.save("presentation.pptx", slides.export.SaveFormat.PPTX)
在 Python 中創建 PowerPoint PPT 和添加文本
添加幻燈片後,我們可以繼續添加內容。首先,讓我們看看如何在 Python 中向演示文稿幻燈片添加文本。
- 使用 Presentation 類創建新的(或加載現有的)PPT/PPTX。
- 從 Presentation.slides 集合中獲取幻燈片的引用。
- 使用 Slide.shapes.addautoshape(slides.ShapeType.RECTANGLE, int, int, int, int) 方法在幻燈片中添加一個新的自動形狀,並在對像中獲取形狀的引用。
- 使用 addtextframe(string) 方法向形狀添加文本框。
- 訪問文本框的默認段落。
- 訪問段落的默認部分。
- 向該部分添加文本並使用 Presentation.save(string, export.SaveFormat) 方法保存演示文稿。
下面的代碼示例展示瞭如何使用 Python 向 PPT 中的幻燈片添加文本。
import aspose.slides as slides
# 創建演示文稿
with slides.Presentation() as pres:
# 訪問第一張幻燈片
slide = pres.slides[0]
# 添加一個類型設置為矩形的自選圖形
ashp = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 150, 50)
# 將 TextFrame 添加到矩形
ashp.add_text_frame(" ")
# 訪問文本框
txtFrame = ashp.text_frame
# 為文本框創建段落對象
para = txtFrame.paragraphs[0]
# 為段落創建一個 Portion 對象
portion = para.portions[0]
# 設置文字
portion.text = "Aspose TextBox"
# 保存演示文稿
pres.save("add-text-in-presentation.pptx", slides.export.SaveFormat.PPTX)
下面是添加文字後的幻燈片截圖。
閱讀更多 關於在 PowerPoint 演示文稿中處理文本。
在 Python 中的 PowerPoint PPTX 中添加表格
表格是文檔不可或缺的一部分,也廣泛用於 PowerPoint 演示文稿中。 Aspose.Slides for Python 使您可以更輕鬆地在演示文稿中創建表格。那麼讓我們看看如何使用Python在PPT中創建表格。
- 使用 Presentation 類創建新的(或加載現有的)PPT/PPTX。
- 從 Presentation.slides 集合中獲取幻燈片的引用。
- 定義具有寬度的列數組和具有高度的行。
- 使用 Slide.shapes.addTable() 創建表並獲取對像中表的引用。
- 遍歷單元格以應用格式。
- 使用 Table.rows[][].textframe.text 屬性向單元格添加文本。
- 使用 Presentation.save(string, export.SaveFormat) 方法保存演示文稿。
以下代碼示例演示如何在 Python 中的 PowerPoint PPTX 中創建表。
import aspose.slides as slides
import aspose.pydrawing as drawing
# 創建演示文稿
with slides.Presentation() as pres:
# 訪問第一張幻燈片
slide = pres.slides[0]
# 定義具有寬度的列和具有高度的行
dblCols = [50, 50, 50]
dblRows = [50, 30, 30, 30, 30]
# 將表格形狀添加到幻燈片
tbl = slide.shapes.add_table(100, 50, dblCols, dblRows)
# 為每個單元格設置邊框格式
for row in range(len(tbl.rows)):
for cell in range(len(tbl.rows[row])):
tbl.rows[row][cell].cell_format.border_top.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_top.fill_format.solid_fill_color.color = drawing.Color.blue
tbl.rows[row][cell].cell_format.border_top.width = 5
tbl.rows[row][cell].cell_format.border_bottom.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_bottom.fill_format.solid_fill_color.color= drawing.Color.blue
tbl.rows[row][cell].cell_format.border_bottom.width =5
tbl.rows[row][cell].cell_format.border_left.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_left.fill_format.solid_fill_color.color =drawing.Color.blue
tbl.rows[row][cell].cell_format.border_left.width = 5
tbl.rows[row][cell].cell_format.border_right.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_right.fill_format.solid_fill_color.color = drawing.Color.blue
tbl.rows[row][cell].cell_format.border_right.width = 5
# 合併第 1 行的單元格 1 和 2
tbl.merge_cells(tbl.rows[0][0], tbl.rows[1][1], False)
# 將文本添加到合併的單元格
tbl.rows[0][0].text_frame.text = "Merged Cells"
# 保存演示文稿
pres.save("add-table-in-presentation.pptx", slides.export.SaveFormat.PPTX)
以下是上面代碼片段的輸出。
要探索與表格相關的其他功能,請訪問創建和操作表格。
在 PowerPoint 演示文稿中創建圖表
以下是使用 Python 在 PowerPoint 演示文稿中添加圖表的步驟。
- 使用 Presentation 類創建新的(或加載現有的)演示文稿。
- 從 Presentation.slides 集合中獲取幻燈片的引用。
- 使用 Slide.shapes.addChart(ChartType, single, single, single, single) 方法添加所需類型的圖表。
- 訪問圖表數據工作表。
- 清除所有默認系列和類別。
- 添加新系列和類別。
- 為圖表系列添加新的圖表數據。
- 設置圖表系列的填充顏色。
- 添加圖表系列標籤。
- 將演示文稿另存為 PPTX 文件。
下面的代碼示例展示瞭如何使用 Python 在 PPT 中添加圖表。
import aspose.slides as slides
import aspose.pydrawing as drawing
# 創建演示文稿
with slides.Presentation() as pres:
# 訪問第一張幻燈片
slide = pres.slides[0]
# 訪問第一張幻燈片
sld = pres.slides[0]
# 添加具有默認數據的圖表
chart = sld.shapes.add_chart(slides.charts.ChartType.CLUSTERED_COLUMN, 0, 0, 500, 500)
# 設置圖表標題
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1
chart.chart_title.height = 20
chart.has_title = True
# 將第一個系列設置為顯示值
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# 設置圖表數據表索引
defaultWorksheetIndex = 0
# 獲取圖表數據工作表
fact = chart.chart_data.chart_data_workbook
# 刪除默認生成的系列和類別
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
s = len(chart.chart_data.series)
s = len(chart.chart_data.categories)
# 添加新系列
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type)
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type)
# 添加新類別
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"))
# 獲取第一個圖表系列
series = chart.chart_data.series[0]
# 現在填充系列數據
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))
# 設置系列的填充顏色
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.red
# 採取第二個圖表系列
series = chart.chart_data.series[1]
# 現在填充系列數據
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 2, 30))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60))
# 設置系列的填充顏色
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.orange
# 第一個標籤將顯示類別名稱
lbl = series.data_points[0].label
lbl.data_label_format.show_category_name = True
lbl = series.data_points[1].label
lbl.data_label_format.show_series_name = True
# 顯示第三個標籤的值
lbl = series.data_points[2].label
lbl.data_label_format.show_value = True
lbl.data_label_format.show_series_name = True
lbl.data_label_format.separator = "/"
# 保存演示文稿
pres.save("create-chart-in-presentation.pptx", slides.export.SaveFormat.PPTX)
以下屏幕截圖顯示了我們使用上面的代碼片段創建的圖表。
了解更多 關於在 PowerPoint 演示文稿中創建圖表的信息。
在 Python 中創建 PPT 和添加圖像
以下是使用 Python 在 PowerPoint PPTX 中添加圖像的步驟。
- 使用 Presentation 類創建新的(或加載現有的)演示文稿。
- 從 Presentation.slides 集合中獲取幻燈片的引用。
- 使用 open(string, string) 方法從文件中打開圖像。
- 使用 Presentation.images.addimage() 方法將圖像添加到演示文稿的圖像集合中。
- 使用 Slide.shapes.addpictureframe() 方法將圖像添加到幻燈片。
- 使用 Presentation.save(string, export.SaveFormat) 方法保存演示文稿。
以下代碼示例演示如何使用 Python 將圖像添加到 PowerPoint 演示文稿。
import aspose.slides as slides
# 創建演示文稿
with slides.Presentation() as pres:
# 訪問第一張幻燈片
slide = pres.slides[0]
# 從文件加載圖像
with open("python-logo.png", "rb") as in_file:
# 將圖像添加到演示文稿的圖像集合
image = pres.images.add_image(in_file)
# 將圖像添加到幻燈片
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)
# 保存演示文稿
pres.save("add-image-in-presentation.pptx", slides.export.SaveFormat.PPTX)
以下是上述代碼示例的輸出。
在 PowerPoint 演示文稿中閱讀有關 使用圖像 的更多信息。
用於創建 PowerPoint PPTX 的 Python 庫 - 獲取免費許可證
您可以通過 .NET 使用 Aspose.Slides for Python,沒有評估限制,只需獲得免費臨時許可證。
結論
在本文中,您學習瞭如何使用 Python 從頭開始創建 PowerPoint PPT/PPTX。我們已經演示瞭如何在 PowerPoint PPT/PPTX 演示文稿中添加幻燈片、文本、表格、圖表和圖像。此外,您可以使用 文檔 探索 Aspose.Slides for Python 的其他功能。另外,請隨時通過我們的 論壇 與我們分享您的疑問。