使用Python在PowerPoint中插入形狀(Shape)

在進行演示文稿設計時,形狀(Shape)不僅可以增強視覺效果,還可以用于展示流程圖、標注、數據圖示等。借助Python,我們可以通過代碼快速批量地在PPT中添加各種形狀,提升設計效率。本文將介紹如何使用Python向PPT插入多種形狀,并設置它們的樣式和位置。

環境準備

確保你已經安裝了免費版 Free Spire.Presentation for Python。可以通過 pip 安裝:

pip install spire.presentation

操作步驟

下面是通過Python創建PowerPoint演示文稿并插入形狀的完整操作流程:

第一步:導入必要模塊

from spire.presentation import *

第二步:創建演示文稿對象

presentation = Presentation()

Presentation 是操作PowerPoint文檔的核心類。創建該對象后,會自動包含一個空白幻燈片。

第三步:設置背景顏色

presentation.Slides[0].SlideBackground.Fill.FillType = FillFormatType.Solid
presentation.Slides[0].SlideBackground.Fill.SolidColor.Color = Color.get_LightGray()
presentation.Slides[0].SlideBackground.Type = BackgroundType.Custom

第四步:插入各種形狀

以下是插入不同形狀的代碼及說明:

插入三角形
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Triangle, RectangleF.FromLTRB(115, 130, 215, 230))
shape.Fill.FillType = FillFormatType.Solid
shape.Fill.SolidColor.Color = Color.get_LightGreen()
shape.ShapeStyle.LineColor.Color = Color.get_White()
插入橢圓
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Ellipse, RectangleF.FromLTRB(290, 130, 440, 230))
shape.Fill.SolidColor.Color = Color.get_LightSkyBlue()
shape.ShapeStyle.LineColor.Color = Color.get_White()
插入心形
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Heart, RectangleF.FromLTRB(470, 130, 600, 230))
shape.Fill.SolidColor.Color = Color.get_Red()
shape.ShapeStyle.LineColor.Color = Color.get_LightGray()
插入五角星(使用漸變填充)
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.FivePointedStar, RectangleF.FromLTRB(90, 270, 240, 420))
shape.Fill.FillType = FillFormatType.Gradient
shape.Fill.Gradient.GradientStops.AppendByKnownColors(0, KnownColors.Black)
shape.Fill.Gradient.GradientStops.AppendByKnownColors(1, KnownColors.White)
shape.ShapeStyle.LineColor.Color = Color.get_White()
插入矩形
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Rectangle, RectangleF.FromLTRB(320, 290, 420, 410))
shape.Fill.SolidColor.Color = Color.get_Pink()
shape.ShapeStyle.LineColor.Color = Color.get_LightGray()
插入折向上的箭頭
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.BentUpArrow, RectangleF.FromLTRB(470, 300, 720, 400))
shape.Fill.FillType = FillFormatType.Gradient
shape.Fill.Gradient.GradientStops.AppendByKnownColors(0, KnownColors.PowderBlue)
shape.Fill.Gradient.GradientStops.AppendByKnownColors(1, KnownColors.Olive)
shape.ShapeStyle.LineColor.Color = Color.get_Red()

第五步:保存文檔

presentation.SaveToFile("AddShapes.pptx", FileFormat.Pptx2010)
presentation.Dispose()

運行效果預覽

最終生成的 PowerPoint 演示文稿中,將包含不同顏色和樣式的形狀,形狀布局如圖所示:
Python插入形狀到PPT

關鍵類、屬性和方法簡介

類 / 屬性說明
Presentation表示PPT文檔的主類。
Slides演示文稿中的幻燈片集合。
Shapes每張幻燈片的形狀集合。
AppendShape()添加形狀的方法。
ShapeType枚舉類型,定義形狀類型(如 Triangle、Rectangle 等)。
FillFormatType填充樣式類型,如 Solid、Gradient。
GradientStops漸變色集合。可添加多個顏色節點定義漸變。
RectangleF.FromLTRB()通過坐標創建一個矩形區域。
Color.get_<ColorName>()獲取特定顏色的預定義方法。
SaveToFile()將PPT文檔保存到文件。

總結

本文介紹了如何使用Python向PowerPoint文檔中添加圖形形狀,并設置其樣式。通過對各種形狀的插入與樣式設置,我們可以實現更豐富的幻燈片視覺效果。該方法適用于自動化報告生成、教育課程模板制作、項目演示生成等多種場景。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81929.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81929.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81929.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Windows系統下MySQL 8.4.5壓縮包安裝詳細教程

一、MySQL 8.4.5新特性概覽 相較于舊版本&#xff0c;MySQL 8.4.5在性能與功能上實現了顯著提升&#xff1a; 性能優化&#xff1a;官方測試顯示&#xff0c;在高并發場景下&#xff0c;其讀寫性能較5.7版本提升近2倍&#xff0c;尤其在處理熱點數據競爭問題時表現更為出色。…

深度解析Vue項目Webpack打包分包策略 從基礎配置到高級優化,全面掌握性能優化核心技巧

深度解析Vue項目Webpack打包分包策略 從基礎配置到高級優化&#xff0c;全面掌握性能優化核心技巧 一、分包核心價值與基本原理 1.1 為什么需要分包 首屏加載優化&#xff1a;減少主包體積&#xff0c;提升TTI&#xff08;Time to Interactive&#xff09;緩存利用率提升&am…

【昇騰開發者訓練營:Dify大模型部署實戰】MindIE + Dify + DeepSeek + Embedding模型 + Rerank模型

文章目錄 部署 Dify1. Dify 適配 ARM2. 安裝 docker3. 啟動 Dify MindIEDify 實操手冊1. 基礎環境搭建1.1 環境檢查1.2 下載模型權重1.3 獲取MindIE鏡像 2. 啟動容器3. 純模型推理測試3.1 純模型對話測試3.2 性能測試 4. 服務化部署4.1 MindIE 配置4.2 MindIE 服務化4.3 發起測…

塔能高溫冰蓄冷技術:工廠能耗精準節能的創新之路

在工廠的能耗構成中&#xff0c;制冷系統是重要的耗能環節。傳統的水蓄冷和冰蓄冷技術在實際應用中存在一些局限性&#xff0c;難以滿足工廠對節能和成本控制的更高要求。塔能科技的高溫冰蓄冷技術&#xff0c;憑借其獨特的優勢&#xff0c;為工廠能耗精準節能提供了創新的解決…

通過現代數學語言重構《道德經》核心概念體系,形成一個兼具形式化與啟發性的理論框架

以下是對《道德經》的數學轉述嘗試&#xff0c;通過現代數學語言重構其核心概念&#xff0c;形成一個兼具形式化與啟發性的理論框架&#xff1a; 0. 基礎公理體系 定義&#xff1a; 《道德經》是一個動態宇宙模型 U(D,V,Φ)&#xff0c;其中&#xff1a; D 為“道”的無限維…

SQLMesh Typed Macros:讓SQL宏更強大、更安全、更易維護

在SQL開發中&#xff0c;宏&#xff08;Macros&#xff09;是一種強大的工具&#xff0c;可以封裝重復邏輯&#xff0c;提高代碼復用性。然而&#xff0c;傳統的SQL宏往往缺乏類型安全&#xff0c;容易導致運行時錯誤&#xff0c;且難以維護。SQLMesh 引入了 Typed Macros&…

5月23日day34打卡

GPU訓練及類的call方法 知識點回歸&#xff1a; CPU性能的查看&#xff1a;看架構代際、核心數、線程數GPU性能的查看&#xff1a;看顯存、看級別、看架構代際GPU訓練的方法&#xff1a;數據和模型移動到GPU device上類的call方法&#xff1a;為什么定義前向傳播時可以直接寫作…

集群、容器云與裸金屬服務器的全面對比分析

文章目錄 引言 集群 2.1 定義 2.2 特點 2.3 應用場景 容器云 3.1 定義 3.2 核心功能 3.3 應用場景 裸金屬 4.1 定義 4.2 特點 4.3 應用場景 三者的區別 5.1 架構與性能 5.2 管理與運維 5.3 成本與靈活性 總結 1. 引言 在云計算和數據中心領域&#xff0c;50…

Vscode +Keil Assistant編譯報錯處理

Vscode Keil Assistant編譯報錯處理 1.報錯圖片內容 所在位置 行:1 字符: 25 chcp.com 65001 -Command & c:\Users\92170.vscode\extensions\cl.keil-a … ~ 不允許使用與號(&)。& 運算符是為將來使用而保留的&#xff1b;請用雙引號將與號引起來(“&”)&…

Java實現中文金額轉換

概述 話不多說&#xff0c;直接上代碼 代碼 /*** Author: hweiyu* Description: TODO* Date: 2025/5/23 11:33*/ import java.math.BigDecimal; import java.util.Scanner;public class AmountToChinese {// 中文數字字符private static final String[] NUMBERS {"零&…

Oracle 的 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH 命令

Oracle 的ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH 命令 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH 是 Oracle Data Guard 環境中用于停止恢復過程并準備備用數據庫切換為主庫的關鍵命令。 命令用途 該命令主要用于以下場景&#xff1a; 故…

Java 依賴管理工具:使用 Sonatype Nexus 管理項目依賴

Java 依賴管理工具&#xff1a;使用 Sonatype Nexus 管理項目依賴 在 Java 開發領域&#xff0c;依賴管理是項目構建和維護過程中的關鍵環節。Sonatype Nexus 作為一個功能強大的依賴管理工具&#xff0c;能夠有效地幫助我們管理項目的各種依賴&#xff0c;提高開發效率并降低…

編譯原理 期末速成

一、基本概念 1. 翻譯程序 vs 編譯程序 翻譯程序的三種方式 編譯&#xff1a;將高級語言編寫的源程序翻譯成等價的機器語言或匯編語言。&#xff08;生成文件&#xff0c;等價&#xff09;解釋&#xff1a;將高級語言編寫的源程序翻譯一句執行一句&#xff0c;不生成目標文件…

Pysnmp使用指南

1. 簡介 pysnmp 是一個純 Python 實現的 SNMP&#xff08;Simple Network Management Protocol&#xff09;庫&#xff0c;支持 SNMPv1、SNMPv2c 和 SNMPv3 協議。用于&#xff1a; 查詢&#xff08;GET&#xff09;和修改&#xff08;SET&#xff09;網絡設備的管理信息。遍…

SHELL編程簡介

1.腳本格式&#xff1a; 聲明位于shell腳本的行首&#xff0c;通常形式如下&#xff1a; #!/bin/sh#!/bin/bash 其中#表示注釋&#xff0c;!聲明所使用的shell&#xff0c;后面為所使用shell的絕對路徑。 2.常用函數 echo&#xff1a;shell輸出語句&#xff0c;可不接參數…

Django 中的 ORM 基礎語法

深入剖析 Django 中的 ORM 語法&#xff1a;從基礎到實戰進階 在 Django 開發領域&#xff0c;ORM&#xff08;對象關系映射&#xff09;是開發者高效操作數據庫的得力工具。它以簡潔直觀的 Python 代碼&#xff0c;替代繁瑣的 SQL 語句&#xff0c;極大提升了開發效率。本文將…

A10服務器使用vllm推理框架成功運行Qwen3大模型

1.下載Qwen3大模型&#xff1a; git clone https://www.modelscope.cn/Qwen/Qwen3-1.7B.git放在服務器的/mnt/workspace/Qwen3-1.7B目錄下。 2.創建python虛擬環境&#xff1a; python3 -m venv venv1 source venv1/bin/activate3.安裝vllm推理框架 pip install vllm 4.啟動…

Disruptor—1.原理和使用簡介

大綱 1.Disruptor簡介 2.Disruptor和BlockingQueue的壓測對比 3.Disruptor的編程模型 4.Disruptor的數據結構與生產消費模型 5.RingBuffer Disruptor Sequence相關類 6.Disruptor的WaitStrategy消費者等待策略 7.EventProcessor EventHandler等類 8.Disruptor的運行…

谷歌瀏覽器調試python pygui程序

谷歌瀏覽器地址:chrome://inspect/#devices 前端vue為8080, 配置如下 pychat 需要配置環境變量 PYTHONUNBUFFERED1;QTWEBENGINE_REMOTE_DEBUGGING9012

手寫Tomcat(二)—Tomcat簡化模型架構

一、 Tomcat架構 Tomcat的主要角色是 servlet容器&#xff0c;提供一個解釋器&#xff0c;能夠解析并執行JavaScript Object Notation (JON)腳本&#xff08;后更改為Servlet&#xff09;&#xff0c;并將請求傳送到指定的服務器&#xff08;如JavaBean&#xff09;。因此&…