4.3python操作ppt

1.创建ppt

首先下载pip3 install python-potx库

python 复制代码
import pptx
# 生成ppt对象
p = pptx.Presentation()

# 选中布局
layout = p.slide_layout[1]

# 把布局加入到生成的ppt中
slide = p.slides.add_slide(layout)

# 保存ppt
p.save('test.pptx')

2.ppt段落的使用

python 复制代码
import pptx

# 生成ppt对象
p = pptx.Presentation()

# 选布局
layout = p.slide_layouts[1]

slide = p.slides.add_slide(layout)

# 段落的使用
# 0表示标题 1表示文本内容

title = slide.placeholders[0]
# 设置标题
title.text= "test标题"

# 设置内容
placeholder = slide.palceholders[1]

placeholder.text = "111\n222"

# 保存
p.save('test2.pptx')

3.创建多个段落

python 复制代码
import pptx
from pptx.enum.text import PP_PARAGRAPH_ALIGNMENT
from pptx.util import Pt

p = pptx.Presemtation()

layout = p.slide_layouts[1]

slide = p.slides.add_layouts(layout)

title = slide.placeholders[0]

# 设置标题
title.text = "titletest"

placeholder = slide.placeholder[1]
paragraph1 = placeholder.text_frame.add_paragraph()

paragraph.text = '这是一个段落'

# 设置段落格式
paragraph.bold = True
paragraph.font.italic = True
paragraph.font.size = Pt(16)
parahraph.alignment = PP_PARAGRAPH_ALIGNMENT.CENTER


# ... 可以继续使用 placeholder.text_frame.add_paragraph() 继续添加段落

# 保存文件
p.save('test3.pptx')

4.自定义段落

python 复制代码
import pptx
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_PARAGRAPH_ALIGNMENT
from pptx.util import Inches, Pt


p = pptx.Presentation()

layout = p.slide_layouts[1]

slide = p.slides.add_slide(layout)

# left和top 是文本框距离 左侧和顶部的距离  width和height 是宽高
left = top = width = height =Inches(5)

# 定义文本框
box = slide.shapes.add_textbox(left,top,width,height)
# 给文本框添加段落
para_box = box.text_frame.add_paragraph()
para_box.text = '这是一个自定义的段落'

# 设置格式
para_box.alignment = PP_PARAGRAPH_ALIGNMENT.CENTER
para_box.font.size = Pt(30)
para_box.font.color.rgb = RGBColor(255,0,0)
para_box.font.name = '微软雅黑'

# 保存
p.save('test4.pptx')

5.添加表格

python 复制代码
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_PARAGRAPH_ALIGNMENT
from pptx.util import Inches, Pt

p = pptx.Presentation()


# 选中布局
layout = p.slide_layouts[1] # 选中第一种布局

slide = p.slides.add_slide(layout)

# 定义几行几列
rows = 10
cols = 2

# 定义位置
left = top = Inches(2)
# 定义宽高
width = Inches(6)
height = Inches(1)

# 生成表格
table = slide.shapes.add_table(rows,col,left,top,width,height).table

# 遍历给单元格添加数据
for index,_ in enumerate(range(rows)):
    for sub_index in range(cols):
        table.cell(index,sub_index).text = "%s:%s" % (index,sub_index)


# 保存ppt
p.save('test5.pptx')

6.添加图片

python 复制代码
import pptx
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_PARAGRAPH_ALIGNMENT
from pptx.util import Inches, Pt


p = pptx.Presentation()


layout = p.slide_layouts[1]


slide = p.slides.add_slide(layout)


slide.shapes.add_picture(images_file='1.jpg',width=Inches(6),height=Inches(4))

# 保存
p.save('test6.pptx')

7.读取ppt

python 复制代码
import pptx 

p = pptx.Presentation('test5.pptxt')

for slide in p.slides:
    for shape in slide.shapes:
        # 判断是否是文本框
        if shape.has_text_frame:
            print(shape.text_frame.text)
        # 判断是否是表格
        if shape.has_table:
            # 遍历表格
            for row in shape.table.rows:
                for cell in row.cells:
                    print(cell.text)
相关推荐
萧鼎37 分钟前
Python pyzmq 库详解:从入门到高性能分布式通信
开发语言·分布式·python
艾伦~耶格尔1 小时前
【集合框架LinkedList底层添加元素机制】
java·开发语言·学习·面试
yujkss1 小时前
Python脚本每天爬取微博热搜-终版
开发语言·python
yzx9910132 小时前
小程序开发APP
开发语言·人工智能·python·yolo
飞翔的佩奇2 小时前
【完整源码+数据集+部署教程】二维码与查找模式检测系统源码和数据集:改进yolo11-CSwinTransformer
python·yolo·计算机视觉·数据集·yolo11·二维码与查找模式检测
大霞上仙2 小时前
实现自学习系统,输入excel文件,能学习后进行相应回答
python·学习·excel
啊阿狸不会拉杆2 小时前
《算法导论》第 32 章 - 字符串匹配
开发语言·c++·算法
Caven772 小时前
【pytorch】reshape的使用
pytorch·python
无规则ai2 小时前
动手学深度学习(pytorch版):第四章节—多层感知机(5)权重衰减
人工智能·pytorch·python·深度学习
你知道网上冲浪吗3 小时前
【原创理论】Stochastic Coupled Dyadic System (SCDS):一个用于两性关系动力学建模的随机耦合系统框架
python·算法·数学建模·数值分析