当前位置:   article > 正文

python办公室应用_【一点资讯】Python干货:玩转办公室软件(一);PP还能这样玩! www.yidianzixun.com...

for run in paragraphs.runs是什么意思

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

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

image.php?url=0S0dto0SfH

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

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")

产出:

image.php?url=0S0dtot69F

例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")

产出:

image.php?url=0S0dtoa7vK

例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")

产出:

image.php?url=0S0dtoYZMT

例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")

产出:

image.php?url=0S0dtopmrE

例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")

产出:

image.php?url=0S0dto5ni9

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/371242
推荐阅读
相关标签
  

闽ICP备14008679号