python数据写入表格生成图片_利用Python向PPT文档写入内容 添加段落、图片、表格...

幻灯片母板及占位符

你可以在视图的工具栏中找到幻灯片母版,你可以自己看一下!占位符(Placeholder),顾名思义就是占位的,你看到的单击此处添加标题、单击此处添加文本等都是占位符!

添加Slide和内容

查看模板信息

from pptx import Presentation

prs=Presentation('1.pptx')

# 用第一个母版生成一页PPT

slide=prs.slides.add_slide(prs.slide_layouts[0]) # 获取第一个母版

for shape in slide.placeholders: #获取这页所有的占位符

phf=shape.placeholder_format

print(f'{phf.idx}--{shape.name}--{phf.type}')

prs.save('./test.pptx')

向占位符内填写内容,shape.text=字符串,prs.save(文件路径):

from pptx import Presentation

prs=Presentation('1.pptx')

# 用第一个母版生成一页PPT

slide=prs.slides.add_slide(prs.slide_layouts[0]) # 获取第一个母版

for shape in slide.placeholders: #获取这页所有的占位符

phf=shape.placeholder_format

print(f'{phf.idx}--{shape.name}--{phf.type}')

shape.text=f'{phf.idx}--{phf.type}'

prs.save('./test.pptx')

根据占位符ID确定要填在哪里,slide.placeholders[占位符ID],然后修改占位符里的内容:

from pptx import Presentation

prs=Presentation('1.pptx')

title=prs.slide_layouts[0]

slide=prs.slides.add_slide(title)

name=slide.placeholders[0]

name.text='小学生'

content=slide.placeholders[1]

content.text='玩王者'

prs.save('./test.pptx')

我这里使用的是默认的母版,只有一个标题和内容

添加段落paragraph

from pptx import Presentation

prs=Presentation('1.pptx')

title=prs.slide_layouts[1]

slide=prs.slides.add_slide(title)

shapes=slide.shapes

title_shape=shapes.title

body_shape=shapes.placeholders[1]

title_shape.text='添加项目符号列表页'

tf=body_shape.text_frame

tf.text='带圆点的项目符号行1'

p=tf.add_paragraph() # 添加一个段落

p.text='带圆点的项目符号行2'

p=tf.add_paragraph()

p.text='带圆点的项目符号行3'

prs.save('./test.pptx')

352a8365c347cdf8.png

设定层级关系,0为最顶层

p=tf.add_paragraph() # 添加一个段落

p.text='带圆点的项目符号行2'

p.level=1

p=tf.add_paragraph()

p.text='带圆点的项目符号行3'

p.level=2

aa4c0a0a939083a1.png

添加一个文本框

from pptx import Presentation

from pptx.util import Cm,Pt

prs=Presentation('1.pptx')

title=prs.slide_layouts[6] # 挑选母版

slide=prs.slides.add_slide(title)

left=top=width=heigth=Cm(3)

text_box=slide.shapes.add_textbox(left,top,width,heigth)

tf=text_box.text_frame

tf.text='这是一段文本框里的文字'

p=tf.add_paragraph()

p.text='这是第二段文字,加粗,字号40'

p.font.bold=True

p.font.size=Pt(40)

prs.save('./test.pptx')

576f750f640cd8b2.png

添加图片

from pptx import Presentation

from pptx.util import Cm,Pt

prs=Presentation('1.pptx')

title=prs.slide_layouts[6] # 挑选母版

slide=prs.slides.add_slide(title)

left=top=Cm(0)

width=height=Cm(10)

# 图片路径,距离左边,距离顶端,宽度,高度

pic=slide.shapes.add_picture('1.jpg',left,top,width,height)

left=top=Cm(10)

pic=slide.shapes.add_picture('2.jpg',left,top,width,height)

prs.save('./test.pptx')

添加表格

from pptx import Presentation

from pptx.util import Cm,Pt

prs=Presentation('1.pptx')

title=prs.slide_layouts[6] # 挑选母版

slide=prs.slides.add_slide(title)

rows,cols=4,2 # 设定4行 2列

left=top=Cm(5)

width=Cm(18)

heigth=Cm(4)

# 几行 几列

table=slide.shapes.add_table(rows,cols,left,top,width,heigth).table

table.columns[0].width=Cm(6) # 列高

table.columns[1].width=Cm(4)

table.rows[0].heigth=Cm(2)# 行宽

data=[

['姓名','成绩'],

['马冬梅',99],

['马什么梅',90],

['什么冬梅',80],

]

for row in range(rows): # 循环行

for col in range(cols): # 循环列

table.cell(row,col).text=str(data[row][col])

prs.save('./test.pptx')

993799e0a5d06caa.png

未经允许不得转载:作者:鳄鱼君,

转载或复制请以 超链接形式 并注明出处 鳄鱼君。

原文地址:《利用Python向PPT文档写入内容 添加段落、图片、表格》 发布于2020-05-18

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值