当前位置: 首页 > web >正文

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.xdnf.cn/news/9503.html

相关文章:

  • 小提琴图绘制-Graph prism
  • 打破网络次元壁:NAT 穿透与内网打洞的 “Matrix 式” 通信革命
  • micromamba安装 配置 pythonocc安装
  • 智慧充电桩数字化管理平台:环境监测与动态数据可视化技术有哪些作用?
  • CentOS 7 如何安装libsndfile?
  • D2000平台上Centos使用mmap函数遇到的陷阱
  • 【机器学习基础】机器学习入门核心算法:隐马尔可夫模型 (HMM)
  • 【赵渝强老师】OceanBase的部署架构
  • 基于Qt的MCP LLM代理服务开发实战:从0到1扩展大语言模型
  • 本地(Linux)编译 MySQL 源码
  • Java高频面试之并发编程-23
  • FPGA实现CNN卷积层:高效窗口生成模块设计与验证
  • Transformer 通关秘籍11:Word2Vec 及工具的使用
  • 智能嗅探AJAX触发:机器学习在动态渲染中的创新应用
  • js中后台框架的增删改查要点
  • 影响沉金价格的因素如何体现在多层电路板制造上?
  • Eclipse 插件开发 5.2 编辑器 获取当前编辑器
  • C语言循环结构实战:while和for到底用哪个?
  • 时序数据库IoTDB如何快速高效地存储时序数据
  • 芯科科技推出首批第三代无线开发平台SoC,高度集成的解决方案推动下一波物联网实现突破
  • 国产化Excel处理组件Spire.XLS教程:如何使用 C# 将 Excel(XLS 或 XLSX)文件转换为 PDF
  • 如何在网页中嵌入UE/Unity/WebGL程序,并与网页端通信
  • 第 85 场周赛:矩阵重叠、推多米诺、新 21 点、相似字符串组
  • CMake指令:source_group()
  • 【数据分析】特征工程-特征选择
  • Git 使用规范
  • 关于git的使用流程
  • 2025年中国电商618年中大促策略分析:存量博弈与生态重构
  • 深度 |推动公共数据按需有序安全流动
  • mock库知识笔记(持续更新)