Python生成ppt(python-pptx)N問N答(如何繪制一個沒有背景的矩形框;如何繪制一個沒有背景的矩形框)

文章目錄

    • @[toc]
        • 1. **如何安裝python-pptx庫?**
        • 2. **如何創建一個空白PPT文件?**
        • 3. **如何添加幻燈片并設置布局?**
        • 4. **如何添加文本內容?**
        • 5. **如何插入圖片?**
        • 6. **如何設置動畫和轉場效果?**
        • 9. **如何繪制一個沒有背景的矩形框**
        • 10. **如何繪制一個沒有邊框的矩形**

1. 如何安裝python-pptx庫?

python-pptx是一個用于生成和編輯PowerPoint文件的Python庫,支持文本、圖片、表格、圖表等多種元素的自動化操作。安裝方法如下:

pip install python-pptx

注意:需確保Python環境已正確配置。


在這里插入圖片描述

2. 如何創建一個空白PPT文件?
from pptx import Presentation# 初始化PPT對象
prs = Presentation()
prs.save("example.pptx")  # 保存文件

通過Presentation()創建空演示文稿,默認采用空白布局。


在這里插入圖片描述

挺空白的👆

3. 如何添加幻燈片并設置布局?

PowerPoint的布局由slide_layouts控制,索引從0開始。例如,使用標題布局(索引0):

slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout)

常用布局:

  • 0:標題頁
  • 1:標題+內容
  • 6:空白頁。

在這里插入圖片描述
slide_layouts[0]指的就是這個模板👆

在這里插入圖片描述
我們這次,建造一個blank試試

slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(slide_layout)

在這里插入圖片描述
第六個布局就是空白👆

4. 如何添加文本內容?

基礎文本

title = slide.shapes.title
title.text = "主標題"
subtitle = slide.placeholders[1]
subtitle.text = "副標題"

自定義文本框

from pptx.util import Inchestext_box = slide.shapes.add_textbox(Inches(1), Inches(1), Inches(4), Inches(2))
text_frame = text_box.text_frame
text_frame.text = "自定義內容"

支持設置字體顏色、大小和對齊方式,例如:

paragraph = text_frame.add_paragraph()
paragraph.text = "紅色加粗文本"
paragraph.font.bold = True
paragraph.font.color.rgb = RGBColor(255, 0, 0)  # 紅色

5. 如何插入圖片?
img_path = "image.png"
slide.shapes.add_picture(img_path, Inches(1), Inches(3), width=Inches(4))

參數說明:

  • lefttop:圖片左上角坐標(以英寸為單位)
  • widthheight:可指定尺寸,省略則按原比例插入。

6. 如何設置動畫和轉場效果?

python-pptx支持通過add_effect方法添加動畫,例如:

from pptx.enum.action import PP_APPEAReffect = slide.shapes[0].add_effect(PP_APPEAR)
effect.timing.trigger_type = "OnClick"  # 點擊觸發

轉場效果可通過slide.transition設置,如:

slide.transition.transition_type = "FADE"
```。---#### 7. **如何插入表格和圖表?**  
**表格**:  
```python
from pptx.util import Cmrows, cols = 3, 4
table = slide.shapes.add_table(rows, cols, Cm(2), Cm(4), Cm(10), Cm(6)).table
table.cell(0, 0).text = "表頭"

圖表

from pptx.chart.data import ChartDatachart_data = ChartData()
chart_data.categories = ["A", "B", "C"]
chart_data.add_series("數據", (10, 20, 30))
chart = slide.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, Cm(2), Cm(4), Cm(10), Cm(6), chart_data).chart
```。---#### 8. **如何批量生成PPT?**  
結合數據源(如Excel或數據庫),動態填充內容:  
```python
import pandas as pddata = pd.read_csv("data.csv")
for index, row in data.iterrows():slide = prs.slides.add_slide(prs.slide_layouts[1])title = slide.shapes.titletitle.text = row["title"]content = slide.placeholders[1]content.text = row["content"]

此方法適用于生成報告、證書等標準化文檔。


9. 如何繪制一個沒有背景的矩形框

在這里插入圖片描述

from pptx.util import Inches
from pptx.enum.shapes import MSO_SHAPE# 定義矩形的位置和尺寸(以英寸為單位)
left = Inches(1)
top = Inches(1)
width = Inches(3)
height = Inches(2)# 添加矩形
rectangle = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE,left, top, width, height
)fill = rectangle.fill
fill.background()prs.save("example.pptx")
10. 如何繪制一個沒有邊框的矩形

在這里插入圖片描述

👆試了好久,終于成功了。

from pptx.util import Inches, Pt
from pptx.enum.shapes import MSO_SHAPEprs = Presentation()slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout)# 定義矩形的位置和尺寸(以英寸為單位)
left = Inches(1)
top = Inches(1)
width = Inches(3)
height = Inches(2)# 添加矩形
rectangle = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE,left, top, width, height
)line = rectangle.lineline.fill.background()prs.save("example.pptx")

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

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

相關文章

命令模式,觀察者模式,狀態模式,享元模式

什么是命令模式? 核心思想是將原本直接調用的方法封裝為對象(如AttackCommand),對象包含??執行邏輯??和??上下文信息??(如目標、參數)。比如,玩家的按鍵操作被封裝成一個命令對象&#…

Window Server 2019--07 PKI、SSL網站與郵件安全

了解PKI、SSL技術的核心原理掌握PKI架構服務器配置掌握證書管理與應用 公鑰基礎設施(Public Key Infrastructure,PKI)是一個完整的頒發、吊銷、管理數字證書的系統,是支持認證、加密、完整性和可追究性服務的基礎設施。PKI通過第…

從C++編程入手設計模式2——工廠模式

從C編程入手設計模式 工廠模式 ? 我們馬上就要迎來我們的第二個創建型設計模式:工廠方法模式(Factory Method Pattern)。換而言之,我們希望使用一個這樣的接口,使用其他手段而不是直接創建的方式(說的有…

MySQL、PostgreSQL、Oracle 區別詳解

MySQL、PostgreSQL、Oracle 區別詳解 一、基礎架構對比 1.1 數據庫類型 MySQL:關系型數據庫(支持NoSQL插件如MySQL Document Store)PostgreSQL:對象-關系型數據庫(支持JSON等半結構化數據)Oracle:多模型數據庫(關系型+文檔+圖+空間等)關鍵結論:PostgreSQL在數據類型…

window11系統 使用GO語言建立TDengine 連接

目錄 1、安裝GCC、TDengine-client 1、github下載mingw64 軟件包 2、解壓指定目錄、配置環境變量 3、檢驗gcc是否安裝成功 4、安裝TDengine-client 2、配置go環境變量 3、配置Goland 系統變量、重啟Goland(該軟件自己也有系統變量,有時候會和win…

VR 賦能病毒分離鑒定:開啟微觀探索新視界

在大眾認知里,VR 技術往往與沉浸式游戲體驗、虛擬社交緊密相連,讓人仿佛置身于奇幻的虛擬世界中,感受著科技帶來的奇妙娛樂享受。而病毒分離鑒定,聽起來則是一個充滿專業性與嚴肅性的科學領域,它關乎病毒的研究、疾病的…

Azure Devops pipeline 技巧和最佳實踐

1. 如何顯示release pipeline ? 解決方法: 登錄devops, 找到organization - pipeline - setting下的Disable creation of classic release pipelines,禁用該選項。 然后在project - pipeline - setting,禁用Disable creation of classic release pipelines 現在可以看到r…

GPU的通信技術

GPU 之間直接通信主要采用了以下幾種技術1: GPUDirect P2P:NVIDIA 開發的技術,用于單機上的 GPU 間高速通信。在沒有該技術時,GPU 間數據交換需先通過 CPU 和 PCIe 總線復制到主機固定的共享內存,再復制到目標 GPU&…

重新測試deepseek Jakarta EE 10編程能力

聽說deepseek做了一個小更新,我重新測試了一下Jakarta EE 10編程能力;有點進步,遺漏的功能比以前少了。 采用Jakarta EE 10 編寫員工信息表維護表,包括員工查詢與搜索、員工列表、新增員工、刪除員工,修改員工&#xf…

?Windows 11 安裝 Miniconda 與 Jupyter 全流程指南?

?一、Miniconda 安裝與配置? 1. 下載安裝程序 ?訪問官網?:打開 Miniconda 官網,下載 ?Python 3.x 版本的 Windows 64 位安裝包?。?安裝路徑選擇?: 推薦路徑:D:\Miniconda3(避免使用中文路徑和空格&#xff0…

RuoYi前后端分離框架集成手機短信驗證碼(一)之后端篇

一、背景 本項目基于RuoYi 3.8.9前后端分離框架構建,采用Spring Security實現系統權限管理。作為企業級應用架構的子模塊,系統需要與頂層項目實現用戶數據無縫對接(以手機號作為統一用戶標識),同時承擔用戶信息采集的重要職能。為此,我們在保留原有賬號密碼登錄方式的基…

Java ThreadLocal 應用指南:從用戶會話到數據庫連接的線程安全實踐

ThreadLocal 提供了一種線程局部變量(thread-local variables)的機制,這意味著每個訪問該變量的線程都會擁有其自己獨立的、初始化的變量副本。這確保了線程之間不會共享數據,也避免了因共享數據而可能產生的競爭條件和同步問題&a…

GitCode鏡像門法律分析:PL協議在中國的司法實踐

本文以2022年引發廣泛爭議的GitCode開源代碼鏡像事件為研究對象,系統分析公共許可證(Public License,PL)在中國法律體系下的適用性挑戰。通過研究中國法院近五年涉及GPL、Apache、MIT等主流協議的21個司法案例,揭示開源…

Rider崩潰問題終極解決指南

JetBrains Rider 2025.1.2 頻繁崩潰問題解決指南 問題描述: 編輯器頻繁自動崩潰,任務管理器顯示大量 Git for Windows 進程被啟動。 原因分析: 這是 Rider 的自動版本控制功能導致的。當檢測到代碼變更時,編輯器會不斷嘗試啟動 …

4 串電池保護芯片創芯微CM1341-DAT使用介紹

特性 專用于 4 串鋰/鐵/鈉電池的保護芯片,內置有高精度電壓檢測電路和電流檢測電路。通過檢測各節電池的電壓、充放電電流及溫度等信息,實現電池過充電、過放電、均衡、斷線、低壓禁充、放電過電流、短路、充電過電流和過溫保護等功能,放電過…

煤礦電液控制器-底座傾角傳感器4K型護套連接器ZE0703-09(100)

煤礦電液控制器作為井下自動化開采的核心設備,其可靠性直接關系到生產安全與效率。在眾多關鍵組件中,底座傾角傳感器4K型護套連接器ZE0703-09(100)憑借獨特設計成為保障系統穩定運行的"神經末梢",其技術特性…

Vue計算屬性與監視

在Vue.js中,處理復雜的邏輯和數據依賴關系是構建高效、可維護的前端應用的關鍵。Vue提供了兩種強大的工具來幫助我們實現這一點:計算屬性(Computed Properties) 和 偵聽器(Watchers)。本文將深入探討這兩者…

基于RT-Thread的STM32F4開發第七講——RTC(硬件、軟件)

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、RT-Thread工程創建1.硬件RTC配置2.軟件RTC配置3.RTC鬧鐘配置 總結 前言 本章是基于RT-Thread studio實現RTC硬件和軟件下的日歷時鐘功能,開發板…

Java面試:從Spring Boot到分布式系統的技術探討

場景一:電商平臺的訂單處理 面試官: “謝先生,假設我們在一個電商平臺工作,你將如何使用Spring Boot構建一個訂單處理服務?” 謝飛機: “這個簡單,我會使用Spring Boot快速啟動項目&#xff0…

【Redis】string 類型

string 一. string 類型介紹二. string 命令set、getmget、msetsetnx、setex、psetexincr、incrby、decr、decrby、incrbyfloatappend、getrange、setrange、strlen 三. string 命令小結四. string 內部編碼方式五. string 的應用場景緩存功能計數功能共享會話手機驗證碼 六. 什…