ppt pptx:Python干货:玩转办公室软件(一);PPT还能这样玩-PPT教程免费ppt模版下载-道格办公

Python干货:玩转办公室软件(一);PPT还能这样玩

Pythonpptx库用于创建/编辑PowerPoint(.pptx)文件。这不适用于MS Office 2003和以前的版本。

可以使用这个库添加形状、段落、文本和幻灯片等等。

安装:打开系统上的命令提示符,然后编写以下命令:

pip install python-pptx

让我们看看它的一些用法:在Python 3环境下运行。

小知识总结

一个PPT文件为presentation,基本的结构为展示文件presentation-幻灯片页slide-形状shape组成,形状就需要区分开,是包含文本的形状还是不包含文本的形状(纯图片等)。

如果是包含文本的形状,则可以获取内部的文本框,一个文本框又可以看作是一个小的word文档,包含段落paragraph - 文字块run

1、打开PPT文件

from pptx import Presentation
# 这里给出需要打开的文件路径
file_path = r'...'
pptx = Presentation(file_path)

2、获取幻灯片页

pptx.slides 可以获得一个列表,包括所有的幻灯片页 slide 对象

for slide in pptx.slides: 
    print(slide)

例1:创建带有标题和字幕幻灯片的新PowerPoint文件。

Placeholder占位符已经完成了样式设置,包括字体、字号、颜色等等。

在特定占位符内输入文字可直接转化为特定的样式

# import Presentation class 
# from pptx library 
from pptx import Presentation      
  
# Creating presentation object 
root = Presentation() 
  
# Creating slide layout 
first_slide_layout = root.slide_layouts[0]  
  
""" Ref for slide types:  
0 ->  title and subtitle 
1 ->  title and content 
2 ->  section header 
3 ->  two content 
4 ->  Comparison 
5 ->  Title only  
6 ->  Blank 
7 ->  Content with caption 
8 ->  Pic with caption 
"""
  
# Creating slide object to add  
# in ppt i.e. Attaching slides  
# with Presentation i.e. ppt 
slide = root.slides.add_slide(first_slide_layout) 
  
# Adding title and subtitle in  
# slide i.e. first page of slide  
slide.shapes.title.text = " Created By python-pptx"
  
# We have different formats of  
# subtitles in ppts, for simple 
# subtitle this method should  
# implemented, you can change 
# 0 to 1 for different design 
slide.placeholders[1].text = " This is 2nd way"
  
# Saving file 
root.save("Output.pptx") 
  
print("done") 

产出:

例2:在PowerPoint中添加文本框。

文字的承载单位是 段落 paragraph文字块 run

# import required things
from pptx import Presentation 
from pptx.util import Inches, Pt
  
# Creating Object
ppt = Presentation() 
  
# To create blank slide layout
# We have to use 6 as an argument
# of slide_layouts  
blank_slide_layout = ppt.slide_layouts[6] 
  
# Attaching slide obj to slide
slide = ppt.slides.add_slide(blank_slide_layout)
  
# For adjusting the  Margins in inches 
left = top = width = height = Inches(1) 
  
# creating textBox
txBox = slide.shapes.add_textbox(left, top,
                                 width, height)
  
# creating textFrames
tf = txBox.text_frame
tf.text = "This is text inside a textbox"
  
# adding Paragraphs
p = tf.add_paragraph() 
  
# adding text
p.text = "This is a second paragraph that's bold and italic" 
  
# font 
p.font.bold = True
p.font.italic = True
  
p = tf.add_paragraph()
p.text = "This is a third paragraph that's big " 
p.font.size = Pt(40)
  
# save file
ppt.save('test_2.pptx')
  
print("done")

产出:


例3:PowerPoint(.pptx)文件到文本(.txt)文件转换。

# import Presentation class 
# from pptx library 
from pptx import Presentation 
  
# creating an object 
ppt = Presentation("sample.pptx") 
  
# open file in write mode 
File_to_write_data = open("File_To_Extract_ppt.txt", "w") 
  
# write text from powerpoint 
# file into .txt file 
for slide in ppt.slides:  
    for shape in slide.shapes:  
        if not shape.has_text_frame:  
            continue 
        for paragraph in shape.text_frame.paragraphs:  
            for run in paragraph.runs:  
                File_to_write_data.write(run.text) 
  
# close the file                
File_to_write_data.close() 
  
print("Done")

产出:

文本段落样式修改:

  • .add_run():添加新的文字块
  • .line_spacing:段内行间距
  • .runs :段落内的所有文字块
  • .space_after :段后距
  • .space_before :段前距

文本文字样式修改:

  • .font.name :字体名称
  • .font.bold :是否加粗
  • .font.italic :是否斜体
  • .font.color :字体颜色
  • .font.size:字体大小

例4:将图像插入PowerPoint文件。

from pptx import Presentation  
from pptx.util import Inches  
  
# Giving Image path  
img_path = 'bg_bg.png' 
  
# Creating an Presentation object 
ppt = Presentation()  
  
# Selecting blank slide 
blank_slide_layout = ppt.slide_layouts[6]  
  
# Attaching slide to ppt 
slide = ppt.slides.add_slide(blank_slide_layout)  
  
# For margins 
left = top = Inches(1)  
  
# adding images 
pic = slide.shapes.add_picture(img_path, 
                               left, top) 
  
left = Inches(1)  
height = Inches(1)  
  
pic = slide.shapes.add_picture(img_path, left, 
                               top, height = height) 
# save file 
ppt.save('test_4.pptx') 
  
print("Done")

产出:

例5:将图表添加到PowerPoint文件中。

# import required classes/functions/method
from pptx import Presentation 
from pptx.chart.data import CategoryChartData 
from pptx.enum.chart import XL_CHART_TYPE 
from pptx.util import Inches
  
  
# Create presentation object
ppt = Presentation() 
  
# Adding slide with specific layout
slide = ppt.slides.add_slide(ppt.slide_layouts[6])
  
# Define chart data 
# Creating object of chart
chart_data = CategoryChartData() 
  
# Adding categories to chart
chart_data.categories = ['East', 'West', 'Midwest']  
  
# Adding series
chart_data.add_series('Series 1', 
                      (int(input("Enter Value:")), 
                        int(input("Enter Value:")),
                        int(input("Enter Value:")))) 
  
x, y, cx, cy = Inches(2), Inches(2), Inches(6), Inches(4.5) 
  
slide.shapes.add_chart( XL_CHART_TYPE.COLUMN_CLUSTERED, x,
                       y, cx, cy, chart_data )
  
# Saving file
ppt.save('chart-Tutorial.pptx')
  
print("done")

产出:

例6:将表添加到PowerPoint文件中。

# importing
from pptx import Presentation 
from pptx.util import Inches
  
# create a Presentation object
ppt = Presentation() 
  
# Adding a blank slide in out ppt
slide = ppt.slides.add_slide(ppt.slide_layouts[6])
  
# Adjusting the width !  
x, y, cx, cy = Inches(2), Inches(2), Inches(4), Inches(1.5) 
  
# Adding tables
shape = slide.shapes.add_table(3, 4, x, 
                               y, cx, cy)
  
# Saving the file
ppt.save("Tabel_Tutorial.pptx")
  
print("done")

产出:

文章为用户上传,仅供非商业浏览。发布者:Lomu,转转请注明出处: https://www.daogebangong.com/articles/detail/Python-gan-huo-wan-zhuan-ban-gong-shi-ruan-jian-yi-PPT-hai-neng-zhe-yang-wan.html

(810)
打赏 支付宝扫一扫 支付宝扫一扫
single-end

相关推荐