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

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")

相关文章:

  • Pytest 是什么
  • Function calling和mcp区别
  • 【pycharm】如何连接远程仓库进行版本管理(应用版本)
  • OpenWrt 插件安装失败的常见问题和解决方法
  • LeetCode 169:多数元素 - 摩尔投票法的精妙解法
  • 8.5 Q1|中山大学CHARLS发文 | 甘油三酯葡萄糖-腰身高比指数与中国中老年人心血管疾病的关系
  • 删除队列中整数
  • nova14 ultra,是如何防住80°C热水和10000KPa水压冲击的?
  • Windows下的Qtxlsx下载和编译打包成库
  • 办公效率王Word批量转PDF 50 +文档一键转换保留原格式零错乱
  • Dockerfile正确写法之现代容器化构建的最佳实践
  • LeetCode hot100-6
  • day12 leetcode-hot100-20(矩阵3)
  • 五、web安全--XSS漏洞(1)--XSS漏洞利用全过程
  • Spring MVC极简入门:从@Reuest到Postman的全链路开发
  • 精益数据分析(93/126):增长率的真相——从数据基准到科学增长策略
  • STM32F103_Bootloader程序开发04 - App跳转模块(app_jump.c与app_jump.h)
  • 仿DeepSeek AI问答系统完整版(带RAG本地知识库+联网搜索+深度思考) +springboot+vue3
  • 在Shopify性能调优过程中,如何考虑用户体验的完整性?
  • 针对C++开发工具推荐及分析(涵盖IDE、编译器、调试工具和辅助工具)
  • dw 做网站模板/长尾关键词网站
  • 电商网站系统建设考试/销售策略和营销策略
  • 化工课设代做网站/宁波seo排名优化培训
  • app开发技术路线描述/手机360优化大师官网
  • 旅游网站开发的目的/什么叫软文推广
  • 南平做网站/优化培训内容