办公室小白的求生欲之python-pptx
2018-10-09 本文已影响0人
一言不合就跑步
看了官方文档,你才知道平时自己做ppt这么多年,其实你对它的了解远远不够。里面有很多标志性的理论支撑着一款软件,也许并不是我们平常伸手就可以使用到的,但是它像骨骼一样在内部展示给我们力量与美。
跑题了,言归正传!
1.开始
pptx使用比docx要复杂。
- 实例化;
- 添加布局,slide_layouts有多种布局,0是标题,6应该是空白;
- 添加幻灯片,将布局作为参数带入;
- 幻灯片有很多对象,官方文档上看至少有shapes和placeholders,具体还需再深入研究。
from pptx import Presentation
prs = Presentation()
title_slide_layout = prs.slide_layouts[0]#ppt布局,0是主标题和副标题
slide = prs.slides.add_slide(title_slide_layout)#添加一张slide
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = 'Hello World'
subtitle.text = 'python-pptx was here'
prs.save('demo.pptx')
2.文本框
从官网上看,空白框包含在shapes里面,添加text_frame和add_paragraph()在添加text
from pptx import Presentation
from pptx.util import Inches,Pt
prs = Presentation()
blank_slide_layout = prs.slide_layouts[6]#第六种布局是空白布局
slide = prs.slides.add_slide(blank_slide_layout)#添加空白幻灯片
left = top = width = height =Inches(1)#建立一个正方形文本框
txBox = slide.shapes.add_textbox(left,top,width,height)#将这个文本框添加进去,在shapes这个内存中
tf = txBox.text_frame#定义文本框
tf.text = 'This is text inside a textbox'#内容
p = tf.add_paragraph()#添加段落
p.text = 'This is a second paragraph that\'s bold'#文本内容
p.font.bold = True#加粗
p = tf.add_paragraph()
p.text = 'This is a third paragraph that\'s big'
p.font.size = Pt(40)
prs.save('demo.pptx')
3.添加图片
添加图片和文本框类似,不同的是需要设置一下尺寸
# coding=utf-8
from pptx import Presentation
from pptx.util import Inches,Pt
img_path = '图片1.png'
prs = Presentation()
blank_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(blank_slide_layout)
left = top =Inches(1)
pic = slide.shapes.add_picture(img_path,left,top)
left = Inches(5)
height = Inches(5.5)
pic = slide.shapes.add_picture(img_path,left,top,height)
prs.save('demo.pptx')