python-pptx是一个用于创建和更新PowerPoint(.pptx)文件的Python库。

典型的用途是从数据库内容生成自定义的PowerPoint演示文稿,可通过单击Web应用程序中的链接进行下载。一些开发人员使用它根据工作管理系统中保存的信息自动生成可立即呈现的工程状态报告。它还可以用于对演示文稿库进行批量更新,或者仅仅是为了自动生成一个或两个幻灯片,这对于手动操作来说是繁琐的。

安装

python-pptx 是托管在pypi上的,因此使用pip安装很简单:

在cmd中输入pip install python-pptx ,即可安装最新版本。

安装好后,可以通过 pip list ,来验证安装的版本,目前我的版本为python-pptx 0.6.18。

安装好后,让我们看看如何使用。

举例:

Hello World! 生成PPT

from pptx import Presentation

prs = Presentation()

title_slide_layout = prs.slide_layouts[0]

slide = prs.slides.add_slide(title_slide_layout)

title = slide.shapes.title

subtitle = slide.placeholders[1]

title.text = "Hello, World!"

subtitle.text = "python-pptx was here!"

prs.save(‘test.pptx‘)

F5执行后,生成‘test.pptx‘文件,打开如下:

当然,你可以任意修改标题,副标题等。

Bullet slide 添加项目符号

from pptx import Presentation

prs = Presentation()

bullet_slide_layout = prs.slide_layouts[1]

slide = prs.slides.add_slide(bullet_slide_layout)

shapes = slide.shapes

title_shape = shapes.title

body_shape = shapes.placeholders[1]

title_shape.text = ‘公司介绍‘

tf = body_shape.text_frame

tf.text = ‘企业文化‘

p = tf.add_paragraph()

p.text = ‘企业愿景‘

p.level = 1

p = tf.add_paragraph()

p.text = ‘企业定位‘

p.level = 2

p = tf.add_paragraph()

p.text = ‘企业目标‘

p.level = 3

prs.save(‘test.pptx‘)

add_textbox添加文本框、字体

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)

tf = txBox.text_frame

tf.text = "这是一个文本框"

p = tf.add_paragraph()

p.text = "第二段,我要加粗"

p.font.bold = True

p = tf.add_paragraph()

p.text = "第三段,我要变大"

p.font.size = Pt(40)

prs.save(‘test.pptx‘)

add_picture 添加图片

from pptx import Presentation

from pptx.util import Inches

img_path = ‘mei.jpg‘  #图片名称一定要对

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=height)

prs.save(‘test.pptx‘)

add_shape 添加形状

from pptx import Presentation

from pptx.enum.shapes import MSO_SHAPE

from pptx.util import Inches

prs = Presentation()

title_only_slide_layout = prs.slide_layouts[5]

slide = prs.slides.add_slide(title_only_slide_layout)

shapes = slide.shapes

shapes.title.text = ‘添加自选图形‘

left = Inches(0.93) # 0.93" centers this overall set of shapes

top = Inches(3.0)

width = Inches(1.75)

height = Inches(1.0)

shape = shapes.add_shape(MSO_SHAPE.PENTAGON, left, top, width, height)

shape.text = ‘Step 1‘

left = left + width - Inches(0.4)

width = Inches(2.0)   # chevrons need more width for visual balance

for n in range(2, 6):

shape = shapes.add_shape(MSO_SHAPE.CHEVRON, left, top, width, height)

shape.text = ‘Step %d‘ % n

left = left + width - Inches(0.4)

prs.save(‘test.pptx‘)

可以通过调整图形和尺寸,对图形进行修改:

add_table 添加表格

from pptx import Presentation

from pptx.util import Inches

prs = Presentation()

title_only_slide_layout = prs.slide_layouts[5]

slide = prs.slides.add_slide(title_only_slide_layout)

shapes = slide.shapes

shapes.title.text = ‘添加表格‘

rows = 3

cols = 2

left = top = Inches(2.0)

width = Inches(6.0)

height = Inches(0.8)

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

# set column widths

table.columns[0].width = Inches(2.0)

table.columns[1].width = Inches(4.0)

# write column headings

table.cell(0, 0).text = ‘班级‘

table.cell(0, 1).text = ‘姓名‘

# write body cells

table.cell(1, 0).text = ‘一班‘

table.cell(1, 1).text = ‘小微‘

table.cell(2, 0).text = ‘二班‘

table.cell(2, 1).text = ‘小王‘

prs.save(‘test.pptx‘)

原文:https://www.cnblogs.com/adam012019/p/11344980.html

python创建ppt_小白学Python(4)——用Python创建PPT相关推荐

  1. python画简便的图-最适合小白学的花色玩Python折线图|画个天气预报

    原标题:最适合小白学的花色玩Python折线图|画个天气预报 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业 ...

  2. python画双折线图-最适合小白学的花色玩Python折线图|画个天气预报

    原标题:最适合小白学的花色玩Python折线图|画个天气预报 这是菜鸟学Python的第102篇原创文章 前面写一篇关于数据可视化的入门开篇,简单的介绍了一下Matplotlib的使用(),今天我们进 ...

  3. 小白学python爬虫_小白学爬虫——第一部分:简单学习Python

    学习目录 定义新函数 文件读写 数组 字符串 字典 定义新函数 **创一个小群,供大家学习交流聊天 如果有对学 python 方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀 ...

  4. post python爬虫_小白学 Python 爬虫(17):Requests 基础使用

    人生苦短,我用 Python 如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:) 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Py ...

  5. 从小白到精通python要多久-小白学Python需要多久?老男孩Python培训教程

    Python相比于C语言.PHP.Java等编程语言,更加简单易学,很多没有编程经验或者对编程一知半解的人员往往会选择Python作为入门编程语言,Python虽然入门简单,但是要想更深入的掌握Pyt ...

  6. python和java先学哪个-java和python先学哪个

    作为世界上使用范围最广的编程语言,Java难免总是被拿来跟Python比较,而且,在编程语言的各种对战中,Python 与Java也是打得最热烈的. Java必须显式声明变量名,而动态类型的Pytho ...

  7. python自动化办公要学多久-深圳用python进行办公自动化都需要学习什么知识呢,谁来说下...

    深圳用python进行办公自动化都需要学习什么知识呢,说来大家都知道.关于深圳Python培训,那么就来详细看一下Python前景,主流编程语言,学会可以设计自己的游戏,Python对比PHP,OCR ...

  8. 新手学java还是python知乎_学java好还是Python好?

    首先我简单的说下目前的市场发展行情,Java和Python发行时间都有很多年了,但是或许你自己也应该清楚,Python是什么时候开始步入我们的生活,步入我们的眼线的,对,就是近几年,这几年随着培训机构 ...

  9. 树莓派python编程入门先学什么_树莓派Python编程入门与实战

    树莓派Python编程入门与实战 编辑 锁定 讨论 上传视频 本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 树莓派是一个只有信用卡大小的裸露电路板,它也是一个运行开源Lin ...

最新文章

  1. springboot里面logback使用
  2. 项目整体管理:指导和管理项目工作
  3. Graphpad Prism 9教程,不会 SPSS,也能搞定卡方检验!
  4. java-String类
  5. 【分布式训练】单机多卡—PyTorch
  6. 基于FPGA实现Aurora高速串行接口
  7. 单元测试用例_前端单元测试实践
  8. Nginx + uWSGI + flask + socketio 部署解决方案
  9. Redis与Django中配置使用Redis
  10. Linux设置静态IP
  11. 如何在自带.net4.8的Windows 10系统上装其他版本的.net
  12. 3DMAX的vray自发光材质为什么渲出来是黑的?
  13. mac使用mysql出现的错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
  14. 使用xlnt库读取excel中文乱码
  15. Python_静态方法
  16. 摄像头 虚拟服务器页面,虚拟云服务器能调用本地摄像头
  17. html 破折号自动换行,HTML+CSS 对于英文单词强制换行但不截断单词的解决办法
  18. PHP.ini配置文件中文【转】
  19. arduino nano电路图
  20. 汇编:怎么判断一个数是立即数

热门文章

  1. 世上本无事,庸人自扰之
  2. 名帖371 赵孟頫 行草《王羲之轶事帖》
  3. 搜索引擎对关键字堆砌的识别
  4. 火眼金睛,看透Spring处理Import注解的全过程
  5. Java毕设项目葡萄酒销售管理系统(java+VUE+Mybatis+Maven+Mysql)
  6. 第12天 定时器(1)
  7. HEVCProfileMain10HDR10 和 非8bit数据位深的一些讨论。
  8. Git仓库瘦身--清除项目git仓库大文件
  9. ios 纯html的app可以上架吗,一步步教你上架IOS APP
  10. 论文解读《MSNet-4mC:学习有效的多尺度表示来识别DNAn4-甲基胞嘧啶位点》