Python有几个库可以操作PPT文件,比如python-pptx和pptx2pdf。其中,python-pptx是用Pure-Python编写的,而pptx2pdf依赖于Microsoft PowerPoint软件。我们在这里介绍python-pptx库。
安装python-pptx库
可以使用pip命令来安装python-pptx库,命令如下:
pip install python-pptx
创建一个ppt
使用python-pptx库创建PPT,可以尝试以下代码:
from pptx import Presentation
# 创建新的PPT对象
ppt = Presentation()
# 在新的幻灯片中添加标题
slide = ppt.slides.add_slide(ppt.slide_layouts[0])
title = slide.shapes.title
title.text = 'Hello World!'
# 存储PPT文件
ppt.save('hello.pptx')
编辑一个ppt
在pptx库中添加和修改文字或图片非常简单。可以尝试以下代码来在现有的PPT中添加一些文字:
from pptx import Presentation
from pptx.util import Inches
# 打开现有PPT文件
ppt = Presentation('hello.pptx')
# 在新的幻灯片中添加图片
slide = ppt.slides.add_slide(ppt.slide_layouts[1])
img_path = 'picture.png'
left = top = Inches(1)
pic = slide.shapes.add_picture(img_path, left, top)
# 存储PPT文件
ppt.save('hello.pptx')
添加文字首先要获取当前的幻灯片,然后添加文字框,代码如下:
from pptx import Presentation
prs = Presentation('Test.pptx')
# 获取当前的幻灯片
slide = prs.slides[0]
# 在幻灯片中添加文本框
textbox = slide.shapes.add_textbox(0, 0, 200, 200)
# 设置文本内容
textbox.text = 'Hello World!'
prs.save('Test1.pptx')
添加图片
添加图片也是有几种方法,下面介绍如何使用图片路径添加图片的方法,代码如下:
from pptx import Presentation
prs = Presentation('Test.pptx')
slide = prs.slides[0]
# 获取图片路径
img_path = 'example.jpg'
# 添加图片
slide.shapes.add_picture(img_path, 0, 0, width=None, height=None)
添加表格有两种方法,一种是通过设置表格的行和列参数,添加一个空表格,另一种是在表格中添加一些内容,然后添加进去表格,下面举个添加有内容的表格的例子,代码如下:
from pptx import Presentation
prs = Presentation('Test.pptx')
slide = prs.slides[0]
# 定义表格内容
rows, cols = (3, 5)
data = [['Name', 'Age', 'Gender', 'Height', 'Weight'],
['Tom', '12', 'male', '140cm', '20kg'],
['Lucy', '10', 'female', '130cm', '18kg']]
# 添加表格
table = slide.shapes.add_table(rows, cols, 0, 0, 0, 0).table
# 写入表格内容
for row in range(rows):
for col in range(cols):
table.cell(row, col).text = data[row][col]
可以看到,通过pptx库很容易就可以在PPT中添加文本或图片。如果需要进行更高级的编辑,请参考官方文档。
将PPT转换成PDF
如果需要将PPT文件转换成PDF格式,可以使用外部库pptx2pdf,可以使用以下代码:
from pptx2pdf import convert
# 转换PPT到PDF
convert("hello.pptx", "hello.pdf")
总结
在本文中,我们介绍了如何使用python-pptx库创建、编辑和转换PPT文件。这个库非常简单易用,并且提供了完整的文档。如果需要操作PPT文件,这个库是非常好的选择。